mysql如何批量修改字符集

mysql如何批量修改字符集的方法:首先需要利用語句,生成所有實際執行的語句;然后基于MySQL的元數據表,得到一組可直接執行的SQL列表;最后直接將語句粘貼并執行即可。

mysql如何批量修改字符集

本教程操作環境:windows7系統、mysql8.0.22版,Dell G3電腦。

相關免費學習推薦:mysql數據庫(視頻)

mysql如何批量修改字符集的方法:

1. 修改數據庫編碼及字符集

這一步比較簡單,直接執行即可:

ALTER?DATABASE?db_name?CHARACTER?SET?=?utf8mb4?COLLATE?=?utf8mb4_bin;

2. 修改數據表與表中字段的編碼及字符集

這里需要兩步。

首先,需要利用語句,生成所有實際執行的語句:

SELECT? CONCAT("ALTER?TABLE?`",?TABLE_NAME,"`?CONVERT?TO?CHARACTER?SET?utf8mb4?COLLATE?utf8mb4_bin;")? AS?target_tables FROM?INFORMATION_SCHEMA.TABLES WHERE?TABLE_SCHEMA="db_name" AND?TABLE_TYPE="BASE?TABLE"

此語句會基于 MySQL 的元數據表,得到一組可直接執行的 SQL 列表,如下:

ALTER?TABLE?`table1`?CONVERT?TO?CHARACTER?SET?utf8mb4?COLLATE?utf8mb4_bin; ALTER?TABLE?`table2`?CONVERT?TO?CHARACTER?SET?utf8mb4?COLLATE?utf8mb4_bin; ALTER?TABLE?`table3`?CONVERT?TO?CHARACTER?SET?utf8mb4?COLLATE?utf8mb4_bin; ALTER?TABLE?`table4`?CONVERT?TO?CHARACTER?SET?utf8mb4?COLLATE?utf8mb4_bin; ALTER?TABLE?`table5`?CONVERT?TO?CHARACTER?SET?utf8mb4?COLLATE?utf8mb4_bin; ALTER?TABLE?`table6`?CONVERT?TO?CHARACTER?SET?utf8mb4?COLLATE?utf8mb4_bin;

其中,table1 到 table6 即為數據庫中的所有數據表。

然后,直接將語句粘貼并執行即可。

注意,這里使用 CONVERT TO 而非 DEFAULT,是因為后者不會修改表中字段的編碼和字符集。

此外,對于數據表比較多的數據庫,可以先將第一步的執行結果導出到 .sql 文件,再通過該 SQL 文件執行即可。

相關免費學習推薦:mysql數據庫(視頻)

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享