100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Alter table alter |change |modify 区别

Alter table alter |change |modify 区别

时间:2019-01-18 12:25:57

相关推荐

Alter table  alter |change |modify 区别

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

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

语法:

ALTER TABLEtbl_name|ALTER [COLUMN]col_name{SET DEFAULTliteral| DROP DEFAULT}| CHANGE [COLUMN]old_col_namenew_col_namecolumn_definition[FIRST|AFTERcol_name]| MODIFY [COLUMN]col_namecolumn_definition[FIRST | AFTERcol_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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。