MySQL修改表字符集的sql语句是什么?

在MySQL中,我们可以使用ALTER TABLE语句来修改表的字符集。

语法格式:

ALTER TABLE table_name
CONVERT TO CHARACTER SET charset_name;

或者

ALTER TABLE table_name
CHARACTER SET = charset_name;

主要参数说明:

  • table_name:指定要修改字符集的表名
  • charset_name:新的字符集,比如utf8、latin1等

示例:

-- 将students表修改为utf8字符集 
ALTER TABLE students
CONVERT TO CHARACTER SET utf8;

-- 将users表修改为latin1字符集
ALTER TABLE users
CHARACTER SET = latin1;

我们也可以同时修改字符集和校对规则:

ALTER TABLE table_name   
CONVERT TO CHARACTER SET charset_name
COLLATE collation_name;
sql
ALTER TABLE table_name
CHARACTER SET charset_name
COLLATE collation_name;

修改字符集后,表里的数据也会自动转换。
但修改字符集会锁表,可能需要一定时间。
在修改字符集前,最好用备份表数据。
修改完成后,需要重新建立表索引。