mysql的alter语句中modify,rename,change详解

直接先抛出结论:

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。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值