概念說明
1、字符集( Set)
定義了字符和二進制的對應關系,為字符分配了唯一的編號。
2、字符編碼( )
字集碼,規定了字符的編號存儲到計算機中。如:ASCII、IOS-8859-1、GB2312、GBK,既表示了字符集又表示了對應的字符編碼。
3、校對規則()
也可稱為排序規則,在同一個字符集內字符之間的比較規則,字符集和校對規則是一對多的關系,每個字符集都有一個默認的校對規則,字符集和校對規則相輔相成,相互依賴關聯。
4、總結
字符集定義了MySQL存儲字符串的方式,校對規則定義了MySQL比較字符串的方式。
字符集( Set)
1、查詢支持的字符集以及默認的校對規則
show set;
2、查詢當前MySQL使用的字符集
show like '%%'
3、MySQL字符編碼轉換原理
①MySQL Server收到請求時將請求數據從轉換為tion。
②進行內部操作前將請求數據從tion轉換為內部操作字符集。
校對規則()
1、查詢支付的校對規則
show ;
2、查詢當前MySQL使用的校對規則
show like '%%';
3、校對規則特征
①兩個不同的字符集不能有相同的校對規則。
②每個字符集有一個默認校對規則。
③存在校對規則命名約定:以其相關的字符集名開始,中間包括一個語言名,并且以_ci(大小寫不敏感)、_cs(大小寫敏感)或_bin(二元)結束。
4、說明總結
系統使用utf8字符集,若使用校對規則執行SQL查詢時區分大小寫,使用不區分大小寫(默認的utf8字符集對應的校對規則是)。
實戰常用
1、創建數據庫指定編碼及校對規則
create database demo1 character set=gbk collate=gbk_bin;
2、創建表指定編碼及校對規則
create table demo2(
id int,
name varchar(20)
)
character set=gbk,collate=gbk_bin;
3、創建表字段指定編碼及校對規則
create table demo3(
id int,
name varchar(20),
email varchar(100) collate gbk_bin,
mobile varchar(100) collate utf8mb4_unicode_ci
)
character set=gbk,collate=gbk_bin;
*請認真填寫需求信息,我們會在24小時內與您取得聯系。