字符集是一套字符和编码的集合,校对规则是用于比较字符集的一套规则。
所以字符集有两部分组成字符集合和对应的编码集合。比如说,现在有这几个字符:A B a b, 假设它们对应的编码分别是00, 01, 10, 11,那么ABab和[00,01,10,11]就组成了一套字符集。那么校对规则的作用就是规则A<B还是A>B。假设我们规定A<B,A=a,B=b,这个规定就组成了一个校对规则。当然我们也可以规定A>B,A>a,a>b这样也是一套校对规则。所以一个字符集可以有多套的校对规则。
查看mysql服务器字符集和校对规则的方法:
mysql> show variables like 'character_set_%'; //其中character_set_server就是当前服务器的使用的字符集
mysql> show variables like 'collation_%'; //其中collation_server就是当前服务器使用的校对规则
查看数据库字符集和校对规则
方法与查看服务器相同。不过在查看前要先use一下想查看的数据库。
mysql> use 数据库名 mysql> show variables like 'character_set_%'; mysql> show variables like 'collation_%';
当然还可以使用如下命令查看字符集:
mysql> show create database 数据库名
查看数据表字符集和校对规则的方法:
mysql> show create table 表名
mysql> show table status
查看字段的的字符集和校对规则方法:
mysql> show create table 数据表名
mysql> show full columns from 数据表名
注意:在没有设置字符集时,系统会自动分配字符集给它们,继承关系是:字段继承表,表继承库,库继承服务器。