中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL校對規則怎么使用

發布時間:2022-08-09 17:18:05 來源:億速云 閱讀:133 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“MySQL校對規則怎么使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“MySQL校對規則怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

MySQL的校對規則

  • 兩個不同的字符集不能有相同的校對規則。

  • 每個字符集有一個默認校對規則。例如:

    • utf8mb4默認校對規則:utf8mb4_general_ci。

    • utf8默認校對規則:utf8_general_ci。

  • 存在校對規則命名約定:它們以其相關的字符集名開始,通常包括一個語言名,并且以_ci(大小寫不敏感)、_cs(大小寫敏感)或_bin(二進制,大小寫敏感)結束。

校對規則列舉 

  • utf8mb4_general_ci

  • utf8mb4_unicode_ci

  • utf8mb4_general_cs

  • utf8mb4_bin

//不存在utf8_unicode_cs

查看校對規則

查看支持的校驗規則

mysql> SHOW COLLATION like 'utf8%';
+--------------------------+---------+-----+---------+----------+---------+
| Collation                | Charset | Id  | Default | Compiled | Sortlen |
+--------------------------+---------+-----+---------+----------+---------+
| utf8_general_ci          | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin                 | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci          | utf8    | 192 |         | Yes      |       8 |
...
| utf8mb4_general_ci       | utf8mb4 |  45 | Yes     | Yes      |       1 |
| utf8mb4_bin              | utf8mb4 |  46 |         | Yes      |       1 |
| utf8mb4_unicode_ci       | utf8mb4 | 224 |         | Yes      |       8 |
| utf8mb4_icelandic_ci     | utf8mb4 | 225 |         | Yes      |       8 |

查看本地的校驗規則

mysql> show global variables like '%coll%';
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_unicode_ci |
| collation_database   | utf8mb4_unicode_ci |
| collation_server     | utf8mb4_unicode_ci |
+----------------------+--------------------+

修改校對規則

修改數據庫配置后,不會對已經存在的表造成影響,如要生效需要修改特定列的排序規則。優先級:列>表>數據庫>服務器

對已存在的表修改

# 修改數據庫:  
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;  
# 修改表:  
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;  
# 修改表字段:  
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL ;

創建表時指定

CREATE TABLE `T` (
  `name` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

utf8_general_ci 與 utf8_unicode_ci區別

utf8mb4_unicode_ciutf8mb4_general_ci總結
準確性基于標準的Unicode來排序和比較,能夠在各種語言之間精確排序沒有實現Unicode排序規則,在遇到某些特殊語言或字符時,排序結果可能不是所期望的。絕大多數情況下,特殊字符的順序不需要那么精確。
性能在特殊情況下,Unicode排序規則為了能夠處理特殊字符的情況,實現了略微復雜的排序算法。在比較和排序的時候更快

絕大多數情況下,不會發生此類復雜比較。

讀到這里,這篇“MySQL校對規則怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青浦区| 长武县| 寿阳县| 涪陵区| 康马县| 漯河市| 庐江县| 互助| 茌平县| 惠来县| 永泰县| 奉贤区| 林芝县| 土默特左旗| 长武县| 铁岭县| 揭东县| 孟连| 绍兴县| 施甸县| 临泽县| 江永县| 封开县| 顺义区| 绍兴县| 临海市| 凌源市| 文水县| 肃北| 临邑县| 宜丰县| 保康县| 遂溪县| 崇仁县| 平遥县| 尼木县| 信阳市| 晋江市| 祁门县| 岚皋县| 平阴县|