0
点赞
收藏
分享

微信扫一扫

MySQL - 校对集

校对集:数据比较方式;必须在无数据前进行声明,如果有了数据再进行数据修改,那么修改无效!

其有三种格式:

  1. _bin:binary,二进制比较,取出二进制位,一位一位进行比较,区分大小写;
  2. _cs:case sensitive,大小写敏感,区分大小写;
  3. _ci:case insensitive,大小写不敏感,不区分大小写。

【1】查看数据库所支持的校对集

show collation

MySQL - 校对集_校对集

【2】对比不同校对集的效果

对比:使用utf8的_bin and _ci来验证不同校对集的效果;

① 创建两张使用不同校对集的表:

CREATE TABLE `my_collate_bin` (
`name` char(1) COLLATE utf8_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
CREATE TABLE `my_collate_ci` (
`name` char(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

② 分别插入数据:

insert into my_collate_bin VALUES('a','A','B','b');
insert into my_collate_ci VALUES('a','A','B','b');

③ 比较:根据某个字段进行排序-order by 字段名[asc||desc] ;

select * from my_collate_bin ORDER BY name;
select * from my_collate_ci ORDER BY name;

MySQL - 校对集_数据_02

MySQL - 校对集_大小写_03

可以看到图一是正常排序,图二未区分大小写(一般应用中,默认不区分大小写,使用utf8_general_ci)。


举报

相关推荐

0 条评论