ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN 语句修改列:
- ALTER COLUMN:改变、删除列的默认值。
这个语句会直接修改 .frm 文件而不涉及表数据,所以操作很快。
-- 改变列的默认值 ALTER TABLE test ALTER COLUMN age SET DEFAULT 17; -- 删除列的默认值 ALTER TABLE test ALTER COLUMN age DROP DEFAULT;
- MODIFY COLUMN:修改列数据类型;改变列的默认值、删除列的默认值(备注:这个操作会做读、插入操作,即:拷贝了整张表到一张新表)。
-- 修改列的数据类型(备注:未执行语句之前是 name VARCHAR(10)) ALTER TABLE test MODIFY COLUMN name VARCHAR(20); -- 改变列的默认值 ALTER TABLE test MODIFY COLUMN name VARCHAR(20) NOT NULL DEFAULT ‘a‘; -- 删除列的默认值 ALTER TABLE test MODIRY COLUMN name VARCHAR(20);
- CHANGE COLUMN:重命名列;重命名列和修改列的数据类型(备注:单独修改列的数据类型报错)。
-- 重命名列 ALTER TABLE test CHANGE COLUMN name new_name VARCHAR(20) NOT NULL; -- 重命名列和修改列的数据类型(备注:未执行语句之前是 new_name VARCHAR(20)) ALTER TABLE test CHANGE COLUMN new_name latest_name VARCHAR(50);
还是自己写 SQL 验证更靠谱!
原文地址:https://www.cnblogs.com/miaooooo/p/12375292.html
时间: 2024-11-08 20:08:45