求 alter column , change column , modify column 区别

在Mysql 里边 Alter TABLE 子选项中 alter column , change column , modify column 有什么区别?

如果有一张大表,执行不同的选项会有什么差异?
求解答

阅读 32.2k
1 个回答
新手上路,请多包涵

ALTER COLUMN:设置或删除列的默认值(操作速度非常快)
例子:

alter table film alter column rental_duration set default 5;  
alter table film alter column rental_duration drop default;

CHANGE COLUMN:列的重命名、列类型的变更以及列位置的移动
例子:

ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL FIRST;  
ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL AFTER baz; 

MODIFY COLUMN:除了不能给列重命名之外,他干的活和CHANGE COLUMN是一样的
例子:

ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz;

引自:http://blog.csdn.net/dba_waterbin/article/details/17884549

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题