字符集
查看MySQL中的字符集
基本語法:服務器
1 show character set;
查看MySQL中的默認字符集
基本語法:spa
1 show variables like ‘character_set%’;
使用字符集解決亂碼問題
①告訴服務器端,客戶端傳遞的是GBK格式(插入操做有效果)code
1 set character_set_client=GBK
②告訴服務器端,客戶端只能接受GBK格式(查詢操做有效果)blog
1 set character_set_results=GBK
可是特別注意,set只能是臨時的,只在當前會話中有效,下次從新打開CMD終端,失效。排序
可是在實際應用,咱們不須要這麼麻煩單獨設置以上兩個選項,咱們能夠只使用一條語句就能夠實現以上效果:ci
1 set names gbk;
校對集
1 校對:實際上就是對數據進行比較,校對集就是MySQL數據的比較方式。 2 _bin :二進制校對集,使用二進制對數據進行比較(ASCII碼) 3 _ci :case insensitive,比較時對大小寫不敏感,不區分大小寫 4 _cs :case sensitive,比較時對大小寫敏感,嚴格區分大小寫
查看MySQL中的校對集
基本語法:it
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');
對不一樣校對集數據表的數據進行排序操做
基本語法:io
1 select * from 數據表 order by 字段名稱 [asc|desc] 2 參數說明: 3 asc:升序排列,從0-100,默認使用的排序 4 desc:降序排列,從100-0
sh_bin排序結果:table
1 select * from sh_bin order by s asc; 2 結果:A < B < a < b ASCII碼比較
sh_ci排序結果:class
1 select * from sh_ci order by s asc; 2 結果:a A b B 不區分大小寫
#####################################################################