MySQL是最流行的開源關系型數據庫之一,被廣泛應用于各種應用場景中。有時候,我們需要將MySQL數據表的字符集從默認的latin1改成utf8,以支持更廣泛的字符集。下面介紹如何通過MySQL命令行將表改成utf8。
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
上述命令中,tablename是待轉換字符集的表的名字,utf8_general_ci是utf8的默認排序規則,可以根據需要自行調整。
在執行上述命令前,需要確保MySQL客戶端已設置好utf8編碼:
mysql --default-character-set=utf8 -u username -p
其中username和-p是登錄MySQL的用戶名和密碼。
執行ALTER TABLE命令后,MySQL會自動將表的字符集改成utf8,并將表中的數據進行轉換。如果表中有較多數據,可能需要一定的時間才能完成轉換。轉換完畢后,可以通過如下命令檢查表的字符集是否已改成utf8:
SHOW CREATE TABLE tablename;
上述命令會顯示表的定義語句,其中字符集信息會顯示在ENGINE=InnoDB DEFAULT CHARSET=utf8這一行中。
注意:在執行ALTER TABLE命令前,請務必備份好表中的數據,以免數據丟失。