簡體   English   中英

MySQL - 整理

[英]MySQL - Collate

當我創建一個數據庫時,我被要求選擇默認整理,當我創建一個表時,我被要求選擇整理。 utf8_general_ci 或...拉丁...? 區分哪個是對的依據是什么?

排序規則確定字符的排序順序,它是字符集中比較字符的一組規則。 任何給定的字符集總是至少有一個排序規則。 排序規則名稱cicsbin的末尾分別表示case insensitivecase sensitivebinary utf8_bin這樣的二進制排序規則通常也區分大小寫,因為它根據字符串的數值進行二進制字符串比較。

這意味着如果你想進行不區分大小寫的 select 查詢,其中 a 和 A 沒有區別,你應該使用以 ci 結尾的排序規則。 如果要進行區分大小寫的查詢,其中 a 和 A 不同,則應使用以 cs 或 bin 結尾的排序規則。

如果沒有選擇,則應用標准級別。 MySQL 中有各種級別的排序規則,例如可以顯示為

mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM