詳解mysql中的校對規則
welcome to the mysql monitor. commands end with ; or \g.
your mysql connection id is 7
server version: 5.6.14 mysql community server (gpl)
oracle is a registered trademark of oracle corporation and/or its
affiliates. other names may be trademarks of their respective
owners.
type 'help;' or '\h' for help. type '\c' to clear the current input statement.
mysql>
mysql>
mysql>
mysql> show collation like 'gbk%';
| collation | charset | id | default | compiled | sortlen |
| gbk_chinese_ci | gbk | 28 | yes | yes | 1 |
| gbk_bin | gbk | 87 | | yes | 1 |
2 rows in set (0.25 sec)
mysql>
校對規則的命名規則是:它們以字符集名開始,通常包括乙個語言名,並且以_ci(大小寫不敏感)、cs(大小寫敏感)或_bin(二元,既比較是基於字元編碼的值而與language無關)結束.
那麼我們來分析一下gbk字符集.gbk_chinese_ci則是預設的校對規則,大小寫不敏感,gbk_bin按照編碼值進行比較,大小寫敏感
接下來資料庫字符集和校對規則是
(1)如果手動指定字符集和校對規則那麼直接使用
(2)如果指定字符集沒有指定校對規則,那麼校對規則使用預設的.
(3)如果沒有指定字符集也沒有指定校對規則,則使用伺服器字符集和校對規則作為資料庫字符集和校對規則
表字符集和校對規則基本跟資料庫的字符集校對規則基本一樣.
(1)如果沒有指定表字符集也沒有指定校對規則,則使用資料庫字符集和校對規則作為表字符集和校對規則
那麼對於客戶端和伺服器之間的字符集的校對規則設定,mysql提供三個引數character_set_client、character_set_connection、character_set_results,這三個引數分別代表客戶端、連線、返回結果字符集.基本上這三個引數的字符集應該相同才可以正確的寫入和讀出.一般情況下不會單純修改這三個引數,可以通過如下命令修改
set names gbk;
這個命令可以同時修改這三個引數,但是在每次連線資料庫時都需要設定這個引數.
另外乙個辦法是在my.cnf設定一下語句
[mysql]
default_character-set=gbk
這樣以後伺服器啟動後,所有連線都會預設使用gbk字符集連線
mysql 校對規則 MySQL 校對規則
校對規則 在當前編碼下,字元之間的比較順序。cs大小寫敏感,ci大小寫不敏感,bin二進位制編碼比較 1.檢視當前校對規則 show collation 每個字符集都支援不定數量的校對規則,下圖為檢視結果的部分截圖 tip 以big5 chinese ci為例,其中big5表示字符集,ci表示校對規...
mysql校對規則
字符集的概念大家都清楚,校對規則很多人不了解,一般資料庫開發中也用不到這個概念,mysql在這方便貌似很先進,大概介紹一下 簡要說明 字符集和校對規則 字符集是一套符號和編碼。校對規則是在字符集內用於比較字元的一套規則。mysql在collation提供較強的支援,oracel在這方面沒查到相應的資...
MySQL 校對規則
校對規則 在當前編碼下,字元之間的比較順序。cs大小寫敏感,ci大小寫不敏感,bin二進位制編碼比較 1.檢視當前校對規則 show collation 每個字符集都支援不定數量的校對規則,下圖為檢視結果的部分截圖 tip 以big5 chinese ci為例,其中big5表示字符集,ci表示校對規...