mysql如何修改数据表

时间:2022-04-09 01:06:41

修改表

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;