MySQL ALTER TABLE: ALTER COLUMN vs CHANGE COLUMN vs MODIFY COLUMN
2016-11-02 00:00
579 查看
ALTER TABLE 允话使用 ALTER COLUMN 、 CHANGE COLUMN 和 MODIFY COLUMN 修改列,这三种操作是不一样的,下面做简单的对比。
ALTER COLUMN:设置或删除列的默认值。该操作会直接修改.frm文件而不涉及表数据。此操作很快
ALTER TABLE MyTable ALTER COLUMN xxx SET DEFAULT 100;
-- 共 0 行受到影响
--
-- 执行耗时 : 0.011 sec
-- 传送时间 : 1.037 sec
-- 总耗时 : 1.048 sec
-- ---------------------------------------------------
CHANGE COLUMN: 列的重命名、列类型的变更以及列位置的移动(应该也会引起表的重建,非常慢)
语法:CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]
ALTER TABLE MyTable CHANGE COLUMN xxx xxx INT FIRST
-- 共 2000000 行受到影响
--
-- 执行耗时 : 12.037 sec
-- 传送时间 : 1.074 sec
-- 总耗时 : 13.012 sec
-- ---------------------------------------------------
MODIFY COLUMN:除了列的重命名之外,他干的活和CHANGE COLUMN是一样的(会引起表的重建,非常慢)
ALTER TABLE MyTable MODIFY COLUMN xxx INT NOT NULL DEFAULT 101;
-- 共 2000000 行受到影响
--
-- 执行耗时 : 13.066 sec
-- 传送时间 : 0.001 sec
-- 总耗时 : 13.067 sec
-- ---------------------------------------------------
ALTER COLUMN:设置或删除列的默认值。该操作会直接修改.frm文件而不涉及表数据。此操作很快
ALTER TABLE MyTable ALTER COLUMN xxx SET DEFAULT 100;
-- 共 0 行受到影响
--
-- 执行耗时 : 0.011 sec
-- 传送时间 : 1.037 sec
-- 总耗时 : 1.048 sec
-- ---------------------------------------------------
CHANGE COLUMN: 列的重命名、列类型的变更以及列位置的移动(应该也会引起表的重建,非常慢)
语法:CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]
ALTER TABLE MyTable CHANGE COLUMN xxx xxx INT FIRST
-- 共 2000000 行受到影响
--
-- 执行耗时 : 12.037 sec
-- 传送时间 : 1.074 sec
-- 总耗时 : 13.012 sec
-- ---------------------------------------------------
MODIFY COLUMN:除了列的重命名之外,他干的活和CHANGE COLUMN是一样的(会引起表的重建,非常慢)
ALTER TABLE MyTable MODIFY COLUMN xxx INT NOT NULL DEFAULT 101;
-- 共 2000000 行受到影响
--
-- 执行耗时 : 13.066 sec
-- 传送时间 : 0.001 sec
-- 总耗时 : 13.067 sec
-- ---------------------------------------------------
相关文章推荐
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN 2014-07-03 14:13:11
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- MySQL之 ALTER vs CHANGE vs MODIFY COLUMN
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- 备忘:Alter Table中: ALTER vs CHANGE vs MODIFY COLUMN 区别
- MySQL----alter table modify | change的不同
- mysql ALTER COLUMN MODIFY COLUMN CHANGE COLUMN 区别及用法 (转)
- mysql ALTER COLUMN MODIFY COLUMN CHANGE COLUMN 区别及用法
- mysql之ALTER COLUMN、CHANGE COLUMN、MODIFY COLUMN的区别
- java程序向MySql中插入数据报错:alter table score change score score varchar(50) character utf8;
- 在线更改表字段工具比较 pt-online-schema-change VS oak-online-alter-table
- pt-online-schema-change VS oak-online-alter-table
- mysql 中alter语句中change和modify的区别
- mysql中alter语句中change和modify的区别
- mysql中alter语句中change和modify的区别
- mysql 中alter语句中change和modify的区别
- Oracle alter table modify column Syntax example