MySQL字符集和校对规则(MySQL校对集)
字符集和校对规则
字符集是一组符号和代码。校对规则是用来比较字符集内字符的规则集。
MySQL提供了强有力的支持和整理,Oracle还没有发现在这方面的相关信息。
不同的字符集有不同的校对规则。命名惯例开始与它们相关的字符集名称,通常包括语言的名称,并以_ci(不区分大小写),_cs(区分大小写)或_bin(2元)。
校对的规则一般分为两类:
二进制排序规则,二元,直接比较的字符编码,可以被认为是敏感的,因为字符编码set'a'and'a显然是不同的。
_语言字符集的默认排序规则是utf8_general_ci UTF8
MySQL字符集和校对规则有4个级别的默认设置:服务器级别、数据库级别、表级和连接级别。
具体来说,我们的系统采用utf8的字符集。如果我们用utf8_bin排序规则执行SQL查询,它是敏感的,和utf8_general_ci是不敏感的。不要用utf8_unicode_ci。
如创建数据库演示utf8字符集;默认校对规则是utf8_general_ci。
Unicode和UTF8
Unicode只是一组符号,它只指定符号的二进制代码,但不指定二进制代码应该如何存储。
UTF8字符集是存储Unicode data.mysql可选方式还支持另一个实现UCS2。
详细说明
字符集(字符集):一组符号和代码。
整理:一套是用于比较字符集中的字符规则,如规则,定义了一个关系如'A ' < B。不同的整理可以达到不同的比较规则,例如,A = 'a'is一些规则的建立,则是无效的。换句话说,有些规则区分案例和案例,而另一些则忽略它。
每个字符集都有一个或多个校对规则,每个校对规则只能属于一个字符集。
二进制排序规则,二元,直接比较的字符编码,可以被认为是敏感的,因为字符编码set'a'and'a显然是不同的。另外,有更复杂的比较规则,为简单的二元添加一些额外的规则,并且是比较复杂的。
MySQL5.1中的字符集和整理数据库管理系统比大多数其他先进很多的使用,可以使用和设置在任何层面上,为了有效地使用这些功能,你需要知道哪些字符集和整理是可用的,如何更改默认行为如何影响字符串运算符的性质和功能。
校对的规则一般都有这些特点:
两个不同的字符集没有相同的校对规则。
每个字符集都有一个默认校对规则。例如,UTF8默认校对规则是utf8_general_ci。
有校对规则的命名约定:他们开始与他们相关的字符集名称,通常包括语言的名称,最后以_ci(不区分大小写),_cs(区分大小写)或_bin(2元)。
确定默认字符集并进行校对。
字符集和校对规则的默认设置有4个级别:服务器级、数据库级、表级和连接级。
数据库字符集与校对
每个数据库都有一个数据库字符集和一个数据库校对规则。它不能是空的。创建数据库和修改数据库语句有一个可选的子句来指定数据库字符集和校对规则:
例如:
创建数据库的默认字符集整理latin1_swedish_ci db_name latin1;
MySQL以这种方式选择数据库字符集和数据库校对规则:
如果指定字符集x和校对y,则使用字符集x和校对规则y。
如果指定了字符集x,并且未指定排序y,则使用字符集x和字符集x的默认校对规则。
否则,使用服务器字符集和服务器校对规则。
使用sql语句中的排序
使用COLLATE子句,可以覆盖任何默认校对规则的一个comparison.collate可用于各种不同的SQL语句。
使用的地方:
SELECT * FROM pro_product哪里product_code = 'abcdefg'collate utf8_general_ci
Unicode和UTF8
Unicode只是一组符号。它只指定符号的二进制代码,但不指定二进制代码应该如何存储。它可以直接存储,UCS-2格式和支持UCS2字符集MySQL。
UTF-8是一种最广泛使用的Unicode实现互联网上。其他的实现包括UTF-16和UTF-32来说,而不是在网上。
UTF8字符集(转换Unicode表示)是存储Unicode数据的可选方法。它是根据RFC 3629执行。的utf8字符集的概念是不同的Unicode字符由一个可变长度的字节序列编码。
基本拉丁字母、数字和标点符号使用一个字节。
和大多数欧洲和中东的两个字节序列的手写字母:扩展拉丁字母(包括发音符号,符号,长音口音,低音符号和其他注释),西里尔字母,希腊语,希伯来语,阿拉伯语,亚美尼亚语,叙利亚语言和其他语言。
在韩国的三字节序列的使用,中国和日本的象形文字
摘自:用梦想衡量生活,用跑步来衡量激情
校对组
有39个字符集和195集的mysql5.5.8校对
#显示所有校对组
显示整理
#显示所有字符集
显示字符集
因此,字符集对应多组证明,也就是说,同一组字符具有多个排序规则。
例如,utf8字符集共有22个排序规则
的utf8字符集的默认排序规则设置utf8_general_ci
通过显示整理如UTF8 _ %
你可以看一下
小心 uff1a
utf8_general_ci是普通的字母顺序,不区分案例和案例之间(例如:A B C D)
utf8_bin是按二进制(例如:一个是在前面的A,B D C)