字符集
查看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 不区分大小写
#####################################################################