MySQL字符集和排序规则解析 MySQL DBA周末学习

原创
2018/05/23 16:10
阅读数 37

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工作者中脱颖而出,就需要拥有高深的技术,学习增值是必不可少的。学习之路,是贵在坚持的。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部