MySQL 教程之校對集問題

本篇文章主要給大家介紹mysql中的校對集問題,希望對需要的朋友有所幫助!

推薦參考教程:《mysql教程

校對集問題

校對集,其實就是數據的比較方式。

校對集,共有三種,分別為:

  • _bin:binary,二進制比較,區分大小寫;

  • _cs:case sensitive,大小寫敏感,區分大小寫;

  • _ci:case insensitive,大小寫不敏感,不區分大小寫。

查看(全部)校對集 –> 基本語法:show collation;

MySQL 教程之校對集問題

如上圖所示,MySQL 數據庫支持百多種校對集。

接下來,咱們在一起看看校對集的應用,因為只有當數據進行比較的時候,校對集才會生效。在這里,咱們用utf8的_bin和_ci兩種校對集進行比較:

--?創建兩張使用不同校對集的表create?table?my_collate_bin( ????name?char(10) )charset?utf8?collate?utf8_bin;create?table?my_collate_ci( ????name?char(10) )charset?utf8?collate?utf8_general_ci;

MySQL 教程之校對集問題

如上圖所示,咱們創建了兩張表,分別為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;

MySQL 教程之校對集問題

下面,咱們根據表中的某個字段(在這里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 教程之校對集問題

如上圖所示,顯然校對集生效啦!

此外,咱們需要特別注意的是: ?校對集必須在沒有數據之前聲明好,如果有了數據之后,再進行校對集的修改,則修改無效。

溫馨提示:用符號[]括起來的內容,表示可選項;符號+,則表示連接的意思

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享