黑马程序员技术交流社区
标题: 【西安校区】MySQL查询时不区分大小写 [打印本页]
作者: 西安Java组 时间: 2017-12-14 00:24
标题: 【西安校区】MySQL查询时不区分大小写
本帖最后由 逆风TO 于 2017-12-14 10:20 编辑
在我们使用MySQL数据库进行查询时,如果条件是aaa或者aaA或者AAA都能查到同样的数据,说明MySQL的查询其实对大小写是不敏感的。那么在有些时候我们在查询数据的时候是需要严格区分大小写的,那我们该如何来进行查询呢?
在通过查询相关的资料,我们可以知道MySQL的collate规则有:
*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
*_cs: case sensitive collation,区分大小写
*_ci: caseinsensitive collation,不区分大小写
那么解决大小写问题就有以下的方法:
方法1:修改表的校对规则为"*_bin",这种修改对表中的所有字段有效。例如:
***修改表的校对:
alter table custome character set utf8 collate utf8_bin;
查询演示:a1.png
方法2:建表或者修改表字段的collate为"*_bin",这种修改对当前列有效
alter table custome modify column cname varchar(20) binary character set utf8 collate utf8_bin;
查询演示:a2.png
方法3:在查询的时候,给需要的列添加binary关键字修饰
select * from custome where binary orderid = 'abc0001';
查询演示:a3.png
作者: 逆风TO 时间: 2017-12-14 11:31
好文好文
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |