天天看點

MySQL - 校對集

校對集:資料比較方式;必須在無資料前進行聲明,如果有了資料再進行資料修改,那麼修改無效!

其有三種格式:

  1. _bin:binary,二進制比較,取出二進制位,一位一位進行比較,區分大小寫;
  2. _cs:case sensitive,大小寫敏感,區分大小寫;
  3. _ci:case insensitive,大小寫不敏感,不區分大小寫。

【1】檢視資料庫所支援的校對集

show collation      
MySQL - 校對集

【2】對比不同校對集的效果

對比:使用utf8的_bin and _ci來驗證不同校對集的效果;

① 建立兩張使用不同校對集的表:

CREATE TABLE `my_collate_bin` (
  `name` char(1) COLLATE utf8_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin      
CREATE TABLE `my_collate_ci` (
  `name` char(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8      

② 分别插入資料:

insert into my_collate_bin VALUES('a','A','B','b');
insert into my_collate_ci VALUES('a','A','B','b');      

③ 比較:根據某個字段進行排序-order by 字段名[asc||desc] ;

select * from my_collate_bin ORDER BY name;
select * from my_collate_ci ORDER BY name;      
MySQL - 校對集