mysql 怎么给一个表一次增加多个字段?

昨天,我在做公司数据库项目,忙着优化角色管理表。
我突然想添加两个字段:一个是模块,用来标记用户拥有的模块,另一个是类型,用来描述用户的项目。
操作是这样的。
首先在终端中输入添加单行字段的命令 ALTERTABLEroleADDmoduleint(1 1 )UNSIGNEDNOTNNULLDEFAULT0COMMENT module;,然后输入添加多行字段的命令 ALTERTABLE roleADDCOLUMNmoduleint(1 1 )UNSIGNEDNOTNULLDEFAULT0COMMENT3 module,ADVARTCOLUMN0COMMENT3 ) AFTERdefault_module;。
操作完成后,仔细阅读参考资料,发现注释确实是用来添加注释的,就像Java中的//注释一样。
等等,突然想到之前有同事问过我MySQL注解的问题,我得找时间给他详细解释一下。

对线面试官:MySQL 给数据表增加一列,一定会锁表吗?

结论:MySQL 5 .6 及以上版本向数据表添加列,不一定会锁表,具体取决于操作的类型和版本。

MySQL 5 .6 :添加不可为空或可为空列时,快速元数据操作、临时行锁定和 ALTERTABLE 可能会影响性能。

MySQL 8 .0:优化DDL操作,减少锁定时间,支持并发读写。

建议在低负载下运行 ALTER TABLE 以尽量减少影响。