直接先抛出结论:
rename和change都是用于修改名称的
rename修改的是表名称,而change修改的是表中的字段名称。
文章最后还有一些骚操作,Just for fun。
modify用于修改表中字段的数据长度,数据类型以及字段的约束条件的。
首先最简单的是rename,用于修改表名,语法如下
alter table table_name rename [to] new table_name ;
这个语法没有什么可说的,to可要可不要,根据个人习惯,我一般是习惯性的加上to,就像使用别名时加上as一样。
然后就是change,用于修改字段名
alter table table_name change old_name new_name datatype...; --新字段需要完整定义
这里要注意的是你重新命名的新字段需要进行完整定义,并不是改字段名就可以。
最后就是modify,modify用于修改表中字段的数据长度,数据类型以及字段的约束条件的。
alter table table_name modify field datatype...;
这三者都同属于alter语句里面的内容,大概用法区别就是如此,语法也比较简单
接下来就是一些骚操作了
其实change也可以像modify一样修改表中字段的数据长度,数据类型以及字段的约束条件,只要你对字段进行完整的定义。
任意一表 有如下表结构,咱们就用change也来完成modify的工作,
我们执行如下语句,不进行改名的情况下(当然如果想,也可以改名),把原本varchar(10)类型,变为char(20),把非空约束拿掉。
看看这个语句能不能执行的通
这样看来,如果有需求是需要修改字段名,同时修改数据长度,数据类型以及字段的约束条件,就可以用这样的方法
不过 总的来说 还是以文章开头的用法来使用,修改列名就用change,修改数据类型以及字段的约束条件还是用modify。
版权声明:本文为qq_42006733原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。