1. 程式人生 > >MySQL字符集與排序規則 北京MySQL DBA學習

MySQL字符集與排序規則 北京MySQL DBA學習

MySQL數據庫 北京MySQL 數據庫管理員 數據庫工程師

  MySQL提供了多種字符集和排序規則選擇,其中字符集設置和數據存儲以及客戶端與MySQL實例的交互相關,排序規則和字符串的對比規則相關。

  字符集的設置可以在MySQL實例、數據庫、表、列四個級別。MySQL設置字符集支持在InnoDB、MyISAM、Memory三個存儲引擎。查看當前MySQL支持的字符集的方式有兩種,一種是通過查看information_schema.character_set系統表,一種是通過命令show character set查看每個指定的字符集都會有一個或多個支持的排序規則,可以通過兩種方式查看,一種是查看information_schema.collations表,另一種是通過show collation命令查看。

  不同的字符集不可能有相同的排序規則,因為每個字符集都會有一個默認的排序規則。

  排序規則:

  每個字符集可以對應多個排序規則,但每個排序規則只能對應一個字符集。

  排序規則的命令通常是以對應的字符集的名字為開頭,並以自己的特定屬性結尾,比如排序規則utf8_general_ci和latin1_swedish_ci就分別是對應utf8和latin1字符集的排序規則。

  當排序規則特指某種語言時,則中間的部分就為這種語言的名字,比如utf8_turkish_ci和utf8_hungarian_ci就代表UTF8字符集中的土耳其語和匈牙利語。

  排序規則名字的結尾字符代表是否大小寫敏感,口音敏感以及是否是二進制的。

  當排序規則名字中沒有指定_as或者_ai時,是否口音敏感由_ci或者_cs決定,當使用的是_ci,則暗指_ai,反之則暗指_as。對Unicode的字符集來說,對應的排序規則也可能會包含unicode排序算法的版本號。

  互聯網企業大多用的數據庫是MySQL的,想要眾多的IT工作者中脫穎而出,就需要擁有高深的技術,學習增值是必不可少的。學習之路,是貴在堅持的。老男孩教育MySQL DBA課程,幾經更新課程,杜絕紙上談兵,全企業真實案例結合理論授課,想深入的學習MySQL DBA的知識,可以關註下老男孩教育。


MySQL字符集與排序規則 北京MySQL DBA學習