創建mysql數據的時候涉及到 character set 跟 collation兩個配置項。爲了弄懂大概是啥意思,查了些資料。
1. character set 字符集
數據庫存儲的字符集,客戶端連接的時候也要用對應的字符集才能正確解析,不然會出現大量的亂碼。
常見的字符集 utf8,unicode等。
2. collation 排序規則
如果選擇的character set字符集是utf8,那麼查詢一下支持的排序規則
show collation like "utf8%"; # 查看支持的排序規則
# +----------------------------+---------+-----+---------+----------+---------+---------------+
# | Collation | Charset | Id | Default | Compiled | Sortlen | Pad_attribute |
# +----------------------------+---------+-----+---------+----------+---------+---------------+
# | utf8mb4_0900_ai_ci | utf8mb4 | 255 | Yes | Yes | 0 | NO PAD |
# | utf8mb4_0900_as_ci | utf8mb4 | 305 | | Yes | 0 | NO PAD |
# | utf8mb4_0900_as_cs | utf8mb4 | 278 | | Yes | 0 | NO PAD |
其中有個default顯示當前字符集默認的排序規則
_ci 大小寫不敏感
_cs 大小寫敏感
_bin 用編碼值進行比較
想要特殊的比較方式的時候要選用不同的