1、概念:在某种字符集下,字符之间的比较关系,比如a和B的大小关系,如果区分大小写a>B,如果不区分大小写则a<B。比如赵钱孙李大小关系,不同的标准关系不一样 2、校对集依赖与字符集,不同的字符集的的比较规则不一样,如果字符集更改,校对集也重新定义。 3、不同的校对集对同一字符序列比较的结果是不一致的。 4、 可以在定义字符集的同时定义校对集、 语法: 例题: 定义两个表,相同字符集不同校对集 - mysql> create table stu1(
- -> name char(1)
- -> )charset=utf8 collate=utf8_general_ci;
- Query OK, 0 rows affected (0.05 sec)
- mysql> create table stu2(
- -> name char(1)
- -> )charset=utf8 collate=utf8_bin;
- Query OK, 0 rows affected (0.05 sec)
- mysql> insert into stu1 values ('a'),('B');
- Query OK, 2 rows affected (0.00 sec)
- Records: 2 Duplicates: 0 Warnings: 0
- mysql> insert into stu2 values ('a'),('B');
- Query OK, 2 rows affected (0.00 sec)
- Records: 2 Duplicates: 0 Warnings: 0
复制代码测试:两个表的数据都是有小到大排序 - mysql> select * from stu1 order by name; -- 不区分大小写
- +------+
- | name |
- +------+
- | a |
- | B |
- +------+
- 2 rows in set (0.08 sec)
- mysql> select * from stu2 order by name; -- 区分大小写
- +------+
- | name |
- +------+
- | B |
- | a |
- +------+
- 2 rows in set (0.00 sec)
复制代码小结校对集规则: _bin:按二进制编码比较,区别大小写 _ci:不区分大小写
|