甲字符集是一组符号和编码。甲归类为在一个字符集的字符进行比较的一组规则。让我们通过一个假想字符集的例子来清楚地区分。
假设我们有一个字母表有四个字母:A
,B
,a,b
。我们给每个字母的数:A
= 0,B
= 1,a
= 2,b
= 3信A
是一个符号,数字0是编码对A
,以及所有四个字母的组合和它们的编码是一个字符集。
假设我们要比较两个字符串值A
和B
。最简单的方法是查看编码:0代表A
,1代表B
。因为0小于1,所以我们说A
小于B
。我们刚才所做的是将校验规则应用于字符集。校验规则是一套规则(在这种情况下,只有一个规则):“比较编码。”我们把这种简单的所有可能的归类的二进制校验规则。
但是,如果我们想说小写字母和大写字母是等效的呢?然后,我们将至少有两个规则:(1)治疗的小写字母a
和b
等同于A
和B
;(2)然后比较编码。我们称此为不区分大小写的校验规则。它比二进制校验规则要复杂一些。
在现实生活中,大多数字符集有许多字符:不仅仅是A
和B
,但整个字母,有时多个字母或数千个字符的东部书写系统,具有许多特殊符号和标点符号一起。同样在现实生活中,大多数归类都有许多规则,不仅用于区分字母大小写,而且还用于区分是否区分重音(“重音”是在德语中附加到字符上的标记Ö
),以及用于多字符映射(例如在两个德国归类之一中Ö
=的规则OE
)。
MySQL可以为您做这些事情:
- 使用各种字符集存储字符串。
- 使用各种校验规则比较字符串。
- 在同一服务器,同一数据库甚至同一表中混合使用具有不同字符集或校验规则的字符串。
- 在任何级别启用字符集和校验规则的规范。
若要有效使用这些功能,您必须知道可用的字符集和校验规则,如何更改默认值以及它们如何影响字符串运算符和函数的行为。