批量修改mysql表字符集的方法

更改表编码(字符集):ALTER TABLE TABLE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

如果一个数据库有很多表要修改,如果没有好的办法是非常头疼而且是费时间的。方法有很多种,下面一种比较简单而且容易操作的方法。

1、查询某个数据库所有表名的语句:

SELECT TABLE_NAME from information_schema.`TABLES` WHERE TABLE_SCHEMA = 'DATABASE_NAME';

2、得到所有的表名,我们可以把表名拼接到上面修改表字符集的语句中去,得到如下语句:

SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') from information_schema.`TABLES` WHERE TABLE_SCHEMA = 'DATABASE_NAME';

执行后得到的就是修改数据库中所有表字符集的语句,然后复制这些语句执行就可以了。

下面我以demo数据库为例进行操作:
2022-10-21T05:33:14.png
2022-10-21T05:33:37.png

转自:https://blog.csdn.net/weixin_39775896/article/details/113592325

最后修改:2022 年 10 月 21 日
如果觉得我的文章对你有用,请随意赞赏