MySQL 校对规则

MySQL 校对规则

show variables like character_set%

character_set_client 客户端发送数据编码
character_set_result 客户端接收数据编码
character_set_database 当前默认数据库的编码
character_set_server 服务器编码
character_set_syatem 标识符编码

校对规则

每一套编码字符集都有与之相关的校对规则.
什么是校对规则? 在当前编码下, 字符之间的比较顺序是什么.
每个字符集都提供一个或者多个校对规则. 通常的命名规则是:
字符集_语言名_ci|cs|bin

常见ci, 不区分大小写; cs 区分大小写; bin编码比较
每个字符集都有默认的校对规则, 不指定, 就是用该默认规则.

查看校对规则
show collation

设置字符集时, 可以设置当前字符集所采用的校对规则, 如果不设置采用默认.

create table kitty(
  name varchar(20)
  ) character set gbk collate gbk_chinese_ci;  
create table hello(
  name varchar(20)
  ) character set gbk collate gbk_bin;

insert into kitty values("a");
insert into kitty values("B");
insert into kitty values("c");

insert into hello values("a");
insert into hello values("B");
insert into hello values("c");

select * from kitty order by name;
select * from hello order by name;
posted @ 2017-08-18 14:47  nowgood  阅读(328)  评论(0)    收藏  举报