如何给MySQL数据库的所有表统一加上字段

在开发过程中,有时候慢慢的建了很多数据库表,但是后来发现需要统一增加某些字段的时候,可以通过alter语句

ALTER TABLE 表名 ADD 列名 数据类型;

比如我要给t_user表增加gmt_creategmt_modified字段,用作记录新增记录时间与更新记录时间,就这么执行

ALTER TABLE t_user ADD gmt_create datetime;
ALTER TABLE t_user ADD gmt_modified datetime;

但是这种方式只能一个个表去增加,如果有个几十甚至上百张表就要累死了。

所以建议通过批量执行来操作

通过执行下面语句就可以生成将数据库所有的表添加gmt_create字段与gmt_modified字段的语句,下面对应的数据库是simiao_wxsushan

SELECT CONCAT('ALTER TABLE ', table_name, ' ADD gmt_create datetime; ADD gmt_modified datetime;') AS alter_statement
FROM information_schema.tables
WHERE table_schema = 'simiao_wxsushan';

通过执行上面语句后,得到了一大串alter语句

image-20240408141500622

将这些语句复制到查询面板后,选中执行就完成了批量将simiao_wxsushan库的所有表添加gmt_create字段与gmt_modified字段啦

image-20240408141928186

上一篇:【AcWing】蓝桥杯集训每日一题Day13|BFS|状态转移|1355.母亲的牛奶(C++)