参考mysql5.5手册,可以使用CHANGE old_col_name column_definition子句对列进行重命名。重命名时,需给定旧的和新的列名称和列当前的类型。
事例:
文章图片
【数据库|mysql中alter语句中change和modify的区别】 例如:要把一个INTEGER列的名称从a变更到b,您需要如下操作:
mysql> ALTER TABLE t1 CHANGE a b INTEGER;
事例:
文章图片
如果您想要更改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的。例如:
mysql> ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;
文章图片
您也可以使用MODIFY来改变列的类型,此时不需要重命名:
mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;
文章图片
关于何时使用change,何时使用modify,其实都是无可厚非的,最主要是个人的习惯。
个人认为,当需要修改字段名称时使用change;当需要修改字段类型时使用modify,毕竟modify还是比change少写个字段名称的,因次还是比较节约系统资源。
推荐阅读
- mysql|InnoDB数据页结构
- 数据库|SQL行转列方式优化查询性能实践
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- mysql|一文深入理解mysql
- 达梦数据库|DM8表空间备份恢复
- 数据技术|一文了解Gauss数据库(开发历程、OLTP&OLAP特点、行式&列式存储,及与Oracle和AWS对比)
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- 谈灾难恢复指标(RTO与RPO是什么鬼())
- RPO与RTO