修改表
ALTER TABLE <旧表名> RENAME <新表名>;
ALTER TABLE t1 RENAME t4;
修改字段的数据类型
ALTER TABLE <表名> MODIFY <字段名> <数据类型>;
当表中已有数据时,慎用。
ALTER TABLE t1 MODIFY name VARCHAR(20);
修改字段名
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
当表中已有数据时,慎用。
ALTER TABLE t1 MODIFY name uname VARCHAR(20);
添加字段
ALTER TABLE <表名> ADD <新字段> <新数据类型> [约束条件] [FIRST|AFTER 已存在字段名];
当表中数据量很大时,慎用。(默认最后,最前用first)
ALTER TABLE t1 ADD location VACHAR(20) AFTER uname;
删除字段
ALTER TABLE <表名> DROP <字段名>;
当表中数据量很大时,慎用。
ALTER TABLE t1 DROP location;
修改字段排列位置
ALTER TABLE <表名> MODIFY <字段名1> <数据类型> FIRST|AFTER<字段2>;
当表中数据量很大时,慎用。
ALTER TABLE t1 MODIFY name VARCHAR(20) AFTER uid;
更改表的存储引擎
ALTER TABLE <表名> ENGINE=<新的存储引擎>;
当表中数据量很大时,慎用。
ALTER TABLE t1 ENGINE=InnoDB;
删除表的外键约束
ALTER TABLE <表名> DROP
FOREIGN KEY <外键名>;
删除所有的外键之后,才能删除对应的主键所在的表。
ALTER TABLE t2 DROP FOREIGN KEY fk_1;