首頁  >  文章  >  資料庫  >  mysql如何批次修改字元集

mysql如何批次修改字元集

coldplay.xixi
coldplay.xixi原創
2020-12-15 14:34:285047瀏覽

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 文件執行即可。

相關免費學習推薦:

php程式設計(影片)

#

以上是mysql如何批次修改字元集的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn