使用 sql 语句修改数据库字符集的方法:
语法如下:
修改库:
ALTER DATABASE 库名 CHARACTER SET 字符集名称 COLLATE 排序规则名称;
修改表:
ALTER TABLE 表名 CONVERT TO CHARACTER SET 字符集名称 COLLATE 排序规则名称;
修改一列:
ALTER TABLE 表名 MODIFY 列名 字段类型 CHARACTER SET 字符集名称 COLLATE 排序规则名称;
示例: 下面三条sql 分别将库 dbsdq , 表 tt2 , 表 tt2 中的 c2 列修改为utf8mb4 字符集, 代码如下:
alter database dbsdq character set utf8mb4 collate utf8mb4_unicode_ci;
use dbsdq;
alter table tt2 character set utf8mb4 collate utf8mb4_unicode_ci;
alter table tt2 modify c2 varchar(10) character set utf8mb4;
如图:
注意:
修改列时,当前列中的所有行都会立即转化为新的字符集;
alter table 会对表加元数据锁(metadata lock), 详见:
https://help.aliyun.com/knowledge_detail/6697124.html