MYSQL - 修改数据表

90 阅读2分钟

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;

删除有外键约束的表

  1. 如果只删除子表,直接删除即可;
  2. 如果只删除父表,先删除子表的外键约束,再删除父表;
  3. 如果两个表都删除,先删除子表,再删除父表;