天天看點

mysql 批量修改整個資料庫字元集

工作中遇到mysql資料庫的所有表的所有varchar類型字元都不是utf8的,插入中文老是出現各種各樣的問題。單個表修改吧,表太多了。目前沒找到一個簡單的方法,下面介紹批量修改資料庫字元集的辦法之一:

1、建立批量修改語句

   修改單個表的字元集的指令是:alter table 表名 convert to character set utf8mb4 collate utf8mb4_bin;

建立修改語句的指令是:

select 
    CONCAT('alter table ',a.table_name,' convert to character set utf8mb4 collate utf8mb4_bin;') 
from (select table_name from information_schema.`TABLES` where TABLE_SCHEMA = '這裡寫資料庫的名字其他地方不用改') a;
           

 執行完了以後會得到下面的結果:

mysql 批量修改整個資料庫字元集

2、批量修改

将上面的語句批量複制,然後全部執行。

我用的用戶端工具是navicat。其它如workbench等随便一個都可以的,甚至指令行也是可以的