字符集

查看MySQL中的字符集

基本语法:

1 show  character  set;

查看MySQL中的默认字符集

基本语法:

1 show  variables  like  ‘character_set%’;

使用字符集解决乱码问题

①告诉服务器端,客户端传递的是GBK格式(插入操作有效果)

1 set character_set_client=GBK

②告诉服务器端,客户端只能接受GBK格式(查询操作有效果)

1 set character_set_results=GBK

但是特别注意,set只能是临时的,只在当前会话中有效,下次重新打开CMD终端,失效。

但是在实际应用,我们不需要这么麻烦单独设置以上两个选项,我们可以只使用一条语句就可以实现以上效果:

1 set  names  gbk;

 

 

校对集

1 校对:实际上就是对数据进行比较,校对集就是MySQL数据的比较方式。
2 _bin :二进制校对集,使用二进制对数据进行比较(ASCII码)
3 _ci :case insensitive,比较时对大小写不敏感,不区分大小写
4 _cs :case sensitive,比较时对大小写敏感,严格区分大小写

查看MySQL中的校对集

基本语法:

1 show  collation;

MySQL校对集演示

 1 create table sh_bin(
 2     s char(1)
 3 )charset=utf8 collate utf8_bin
 4 
 5 insert into sh_bin values ('a'),('b'),('A'),('B');
 6 
 7 
 8 
 9 create table sh_ci(
10     s char(1)
11 )charset=utf8 collate utf8_general_ci
12 
13 insert into sh_ci values ('a'),('b'),('A'),('B');

对不同校对集数据表的数据进行排序操作

基本语法:

1 select  *  from  数据表   order   by   字段名称    [asc|desc]
2 参数说明:
3 asc:升序排列,从0-100,默认使用的排序
4 desc:降序排列,从100-0

sh_bin排序结果:

1 select  *  from  sh_bin   order   by   s  asc;
2 结果:A < B < a < b    ASCII码比较

sh_ci排序结果:

1 select  *  from  sh_ci   order   by   s  asc;
2 结果:a  A  b  B        不区分大小写

 

#####################################################################

 

posted on 2018-04-16 15:32  &&||!  阅读(117)  评论(0编辑  收藏  举报