MySQL開發——【字符集、校對集】

字符集

查看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        不區分大小寫

 

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

相關文章
相關標籤/搜索