這篇文章主要跟大家介紹mysql中的校對集問題,希望對需要的朋友有幫助!
推薦參考教學:《mysql教學》
校對集,其實就是資料的比較方式。
校對集,共有三種,分別為:
#_bin
:binary,二進位比較,區分大小寫;
_cs
:case sensitive,大小寫敏感,區分大小寫;
_ci
:case insensitive,大小寫不敏感,不區分大小寫。
檢視(全部)校對集–> 基本語法:show collation;
如上圖所示,MySQL 資料庫支援百多種校對集。
接下來,咱們一起看看校對集的應用,因為只有當資料比較的時候,校對集會生效。在這裡,咱們用utf8
的_bin
和_ci
兩種校對集進行比較:
-- 创建两张使用不同校对集的表create table my_collate_bin( name char(MySQL 教程之校對集問題) )charset utf8 collate utf8_bin;create table my_collate_ci( name char(MySQL 教程之校對集問題) )charset utf8 collate utf8_general_ci;
如上圖所示,咱們建立了兩張表,分別為my_collate_bin
和my_collate_ci
,其校對集分別為_bin
和_ci
. 然後,分別在這兩張表中加入資料:
-- 向表中添加数据insert into my_collate_bin values ('a'),('A'),('B'),('b');insert into my_collate_ci values ('a'),('A'),('B'),('b');
再分別查看兩張表中的資料:
-- 查看表中的数据select * from my_collate_bin;select * from my_collate_ci;
下面,咱們根據表中的某個欄位(在這裡my_collate_bin
和my_collate_ci
都只有一個欄位)進行排序,其基本語法為:
order by + 字段名 + [asc/desc];
其中,asc
表示升序,desc
表示降序,預設為升序。執行如下 SQL 語句:
-- 排序比较select * from my_collate_bin order by name;select * from my_collate_ci order by name;
如上圖所示,顯然校對集生效啦!
此外,咱們需要特別注意的是: 校對集必須在沒有資料之前聲明好,如果有了資料之後,再進行校對集的修改,則修改無效。
溫馨提示:用符號[]
括起來的內容,表示可選項;符號
,則表示連結的意思
以上是MySQL 教程之校對集問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!