mysql如何批量修改字符集的方法:首先需要利用語句,生成所有實際執行的語句;然后基于MySQL的元數據表,得到一組可直接執行的SQL列表;最后直接將語句粘貼并執行即可。
本教程操作環境: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
喜歡就支持一下吧
相關推薦