MYSQL - 修改数据表
MYSQL修改数据表的操作。
[] 中的内容代表可选的
修改表名 - RENAME
ALTER TABLE <旧表名> RENAME [TO] <新表名>
修改字段的数据类型 - MODIFY
ALTER TABLE <表名> MODIFY <字段名> <新数据类型>
修改字段名 - CHANGE
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>
CHANGE:新旧字段名一致时,也可以只修改字段的数据类型。
添加字段 - ADD
添加新字段时,同时可以指定可选的字段约束条件:主键、外键、非空、唯一、AUTO_INCREMENT、默认值;
同时还可以指定该字段插入到表中的位置,默认添加到表中最后一个字段的后面,使用FIRST指定时,插入表中最前;使用AFTER 已存在字段插入某个已存在字段的后面。
ALTER TABLE <表名> ADD <新字段名> <数据类型>
[约束条件] [FIRST | AFTER 已存在的字段名]
删除字段 - DROP
ALTER TABLE <表名> DROP <字段名>
修改字段的排列位置
可以通过MODIFY和 [FIRST | AFTER 已存在的字段] 来确保字段和数据类型不变的情况下,改变字段的排列位置。
ALTER TABLE <表名> MODIFT <字段名> <数据类型> [FIRST | AFTER 已存在的字段];
更改表的存储引擎
ALTER TABLE <表名> ENGINE=<引擎名>;
SHOW ENGINES; 查看数据库支持的所有引擎。
删除表的外键约束
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>
删除表
删除无外键约束关联的表
DROP TABLE [IF EXISTS] table1, table2,....tableN;
删除有外键约束的表
- 如果只删除子表,直接删除即可;
- 如果只删除父表,先删除子表的外键约束,再删除父表;
- 如果两个表都删除,先删除子表,再删除父表;