MySQL修改字符集
一、修改字符集
1、修改数据库字符集
alter database db_new charset utf8mb4;
2、修改表字符集
alter table tb charset=utf8mb4;
3、修改表字符集和校验规则
alter table tb charset=utf8mb4 collate=utf8mb4_general_ci;
4、修改表字段的字符集和校验规则
alter table tb modify name varchar(50) character set utf8 collate utf8_general_ci;
二、配置文件修改字符集
修改MySQL配置文件my.cnf
[mysqld]
character_set_server=utf8mb4
通常在my.cnf文件中修改character_set_server就足够了,下面这些配置项会随着character_set_server的变更而变更,但是如果想自定义某些参数的字符集或者校验规则,可以在配置文件中单独为其指定字符集和校验规则。
character_set_client=utf8
character_set_connection=utf8
character_set_database=utf8
character_set_results=utf8
character_set_system=utf8
collation_connection=utf8_general_ci
collation_database=utf8_general_ci
collation_server=utf8_general_ci
建议数据库的字符集和校验规则要统一,字符集不同,会导致某些场景下,比如join连接字段字符集不同,可能导致无法走索引,影响SQL执行性能。
三、查看字符集
1、查看数据库支持的字符集:
select * from information_schema.character_sets;
2、查看数据库支持的检验规则:
select * from information_schema.collations;
3、查看表字符集及检验规则:
show create table tb\G
select * from information_schema.tables where table_name='tb'\G
文章评论