「这是我参与11月更文挑战的第 4 天,活动详情查看:2021最后一次更文挑战」
在 Mysql 温故知新系列 【表创建】 - 掘金 (juejin.cn) 这篇文章中,讲到了如何创建表,在建表时,有哪些常规的操作,如定义自增主键,唯一字段,非空属性,携带默认值,以及指定外键。但这些操作,是我们建表时提前规划好的,实际上,我们会在对字段做增减以及修改等操作,这就是本章的目的
表维护
字段添加
在结尾追加
1 | sql复制代码alter table <表名> add <新字段名><数据类型>[约束条件]; |
这种方式,字段会添加到表的最后
在开头添加
1 | sql复制代码alter table <表名> add <新字段名> <数据类型> [约束条件] first; |
mysql 默认是在表的最后添加新的字段,我们可以使用关键字 first
将添加的字段限定在表的字段的第一行
添加在表的任意位置
除上两种方式,mysql 还支持在表中间任意位置插入新字段。这需要使用关键字 after
指定新字段插入表中现有字段的哪一个后边
1 | sql复制代码alter table <表名> add <新字段名> <数据类型> [约束条件] after <已经存在的字段名>; |
字段删除
在新项目中,我们设计的表经过多次字段添加,以及长时间的运行后,会有一些字段不再使用
处于优化表结构的目的,我们需要移除这些冗余的字段,相关命令如下:
1 | sql复制代码alter table table_name drop column field |
前面测试插入的 uuid
列已经移除
字段修改
重命名字段
1 | sql复制代码alter table <表名> change <旧字段名> <新字段名> <新数据类型> [约束条件]; |
uname -> username
,并且还修改了他的默认值
字段调整
1 | sql复制代码alter table <表名> modify <字段名> <数据类型> |
不仅修改了长度,还修改了默认值,并添加了唯一约束
追加外键
1 | sql复制代码alter table <表名> add foreign key [自定义外键名](<表中外键字段>) references <关联表>(<关联表主键>); |
删除外键
1 | sql复制代码alter table <表名> drop foreign key <外键约束名> |
本文转载自: 掘金