10.3.1 整理命名约定
MySQL 归类名称遵循以下约定:
-
归类名称以与其关联的字符集的名称开头,通常后跟一个或多个后缀,以指示其他归类 Feature。例如,
utf8_general_ci
和latin1_swedish_ci
分别是utf8
和latin1
字符集的排序规则。binary
字符集具有单个排序规则,也称为binary
,没有后缀。 -
特定于语言的归类包括语言名称。例如,
utf8
字符集的utf8_turkish_ci
和utf8_hungarian_ci
使用土耳其语和匈牙利语规则分别对字符进行排序。 -
排序规则后缀指示排序规则是区分大小写,区分重音还是假名敏感(或其某种组合)还是二进制。下 table 显示了用于指示这些特性的后缀。
table10.1 排序规则后缀的含义
Suffix | Meaning |
---|---|
_ai | Accent-insensitive |
_as | Accent-sensitive |
_ci | Case-insensitive |
_cs | Case-sensitive |
_bin | Binary |
对于未指定重音符号敏感性的非二进制排序规则名称,它由区分大小写确定。如果排序规则名称不包含_ai
或_as
,则名称中的_ci
table 示_ai
,名称中的_cs
table 示_as
。例如,latin1_general_ci
显式不区分大小写,并且隐含变音,而latin1_general_cs
显式不区分大小写,并且隐含变音。
对于binary
字符集的binary
归类,比较基于数字字节值。对于非二进制字符集的_bin
排序规则,比较基于数字字符代码值,该值不同于多字节字符的字节值。有关binary
字符集的binary
归类和非二进制字符集的_bin
归类之间的区别的信息,请参见第 10.8.5 节“与_bin 归类相比的二进制归类”。
-
Unicode 字符集的归类名称可以包括版本号,以指示归类所基于的 Unicode 归类算法(UCA)的版本。名称中没有版本号的基于 UCA 的归类使用版本 4.0.0 UCA 配重键。例如:
-
utf8_unicode_520_ci
基于 UCA 5.2.0 配重键(http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt)。utf8_unicode_ci
(未命名版本)基于 UCA 4.0.0 重量键(http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt)。
-
对于 Unicode 字符集,
xxx_general_mysql500_ci
归类保留原始xxx_general_ci
归类在 5.1.24 之前的 Sequences,并允许升级在 MySQL 5.1.24 之前创建的 table(错误#27877)。