mysql校對規則 MySQL中的校對規則

2021-10-17 13:27:51 字數 1560 閱讀 8277

詳解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表示校對規...