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命令前,请务必备份好表中的数据,以免数据丢失。