91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

左云县| 大城县| 宿松县| 通辽市| 吉木乃县| 浑源县| 平武县| 佛冈县| 淳安县| 伊宁县| 克山县| 镇雄县| 新化县| 晋城| 中阳县| 济南市| 长寿区| 元江| 东光县| 乐陵市| 浦县| 水城县| 玉溪市| 安塞县| 渝北区| 宜良县| 中方县| 建始县| 乌拉特中旗| 富阳市| 油尖旺区| 惠水县| 福州市| 裕民县| 浦县| 柏乡县| 望城县| 怀柔区| 丘北县| 沈阳市| 繁昌县|