欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Alter table alter |change |modify 区别

发布时间:2023/12/9 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Alter table alter |change |modify 区别 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Alter table 语句有很多,具体可以参见MySQL 官网指导手册 : http://dev.mysql.com/doc/refman/5.7/en/alter-table.html

这里主要是对遇到的alter,change,modify区别进行总结。

语法:

ALTER TABLE tbl_name |ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}| CHANGE [COLUMN] old_col_name new_col_name column_definition[FIRST|AFTER col_name]| MODIFY [COLUMN] col_name column_definition[FIRST | AFTER col_name]

1.alter table table_name alter ...

看官网给出的语法结构,alter只能修改和删除默认值。而且alter语句只是修改.frm 文件而不涉及表中数据。所以操作很快。


2.alter table table_name change ...

change可以修改表中字段名,类型,默认值。但是会更新表中数据,操作会很慢。根据官网的说法如此,具体的,在项目中用此语句修改时,操作很快结束,看似没有修改表中数据。因为我用modify时结果很慢,一定更新了表中数据。或者项目中用到的是MariaDB 。有空会再做下实验。

ALTER TABLE t1 CHANGE c1 c1 BLOB; ALTER TABLE t1 CHANGE c1 c2 TEXT CHARACTER SET utf8;  

3.alter table table_name modify...

modify只可以修改现有字段的类型和默认值等。而且modify会更新表中数据,操作较慢。


在Alter table 之后,最好用 analyze table table_name  更新一下index。

因此,修改默认值用alter ,修改字段名,类型直接用change

总结

以上是生活随笔为你收集整理的Alter table alter |change |modify 区别的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。