MySQL字符集与排序规则 北京MySQL DBA学习

  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的知识,可以关注下老男孩教育。


扫描二维码关注公众号,回复: 995402 查看本文章

猜你喜欢

转载自blog.51cto.com/13543192/2119577