一、修改表名
alter table <旧表名> rename <新表名>;
alter table t1 rename t4;
二、修改字段的数据类型
alter table <表名> modify <字段名> <新数据类型>;
TIP:1、往往执行的是同类型的修改,比如字符转字符,数字转数字
2、如果表中存在数据,慎用,极大可能损坏数据
三、修改字段:
alter table <表名> change <旧字段名> <新字段名> <新数据类型>;
注意只能修改成同类型的数据
四、增加字段
mysql> alter table <表名> add <新字段名> <新数据类型> [约束条件] [first/after <已存段名>]
五、删除字段
alter table <表明> drop <删除字段名>;
六、修改字段排列的位置
alter table <表名> modify <该字段名> <新数据类型> [约束条件] [first/after <已存段名>]
七、更改表的存储引擎
alter table <表名> engine=<新存储引擎>;
八、删除表的外键约束
alter table <表名> drop foreign key <外键名>;
删除所有的外键之后,才能删除对应的主键所在的表
案例:alter table t1 drop foreign key fk_1;
总结:
1、在关系型数据表突出强调的就是利用数据之间的关系设计表,把表作为数据的容器。
2、表的设计要综合考虑多种因素,参考三范式进行合理规划。
3、存储引擎作用于表。
4、当对一个大表进行操作时,任何alter语句的执行都应该慎重考虑——最好的方法是创建一个修改后的表,将数据导入进去。