您的位置:首页 > 数据库 > MySQL

MySQL字符集和校对规则解读(服务器级、数据库级、表级、字段级)

2019-02-03 13:32 295 查看
版权声明:转载请附上文章地址 https://blog.csdn.net/weixin_38134491/article/details/86749122

MySQL内的字符集和校对规则有4个规则的默认设置:服务器级、数据库级、表级、字段级

 

服务器字符集和校对规则配置:

  • 在配置文件中设置 

[mysqld]

character-set-server=utf8 

  • 或者启动项中指定

mysql  --character-set-server=utf8

  • 或者在编译的时候指定

 

数据库字符集和校对规则

  • 创建数据库:

 create database db_name

[[DEFAULT] CHARACTER SET charset_name]

[[DEFAULT] COLLATE collation_name]

 

  • 查看当前数据库的字符集和校对规则:

show variables like 'character_set_database';

show variables like 'collation_database';

 

  • 修改数据库(一般很少用,再改太复杂):

alter database db_name

[[DEFAULT] CHARACTER SET charset_name]

[[DEFAULT] COLLATE collation_name]

 

数据库字符集和校对规则设置

  • 如果指定了字符集和校对规则,那么就使用指定的字符集和校对规则

 

  • 如果指定了字符集但没有指定校对规则,那么就使用默认的校对规则

 

  • 如果指定了校对规则但没有指定字符集,那么字符集使用与该校对规则关联的字符集

 

表字符集和校对规则设置

  • 创建表:

create table tb1_name (column_list)

[default character set charset_name [collate collation_name]]

如果创建表的时候没有指定字符集和校对规则,则使用上一级的字符集和校对规则(上一级即数据库级)

 

  • 修改表(很少用):

alter table tb1_name

[default character set charset_name [collate collation_name]]

 

字段(列)字符集和校对规则

遇到这种情况比较小,这只是MySQL提供给我们灵活设置的手段

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: