原创

Mysql 数据库查询时不区分大小写解决方案

mysql数据库中默认查询不区分大小写的,如果想在进行查询时区分大小写需要进行简单的配置操作,下面本人为大家提供了一种解决mysql查询时不区分大小写的方法,对于初学者可以参考一下。

mysql校验规则如下:

*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
*_cs: case sensitive collation,区分大小写
*_ci: case insensitive collation,不区分大小写

解决方法:

1、查询条件增加属性binary,具体执行sql语句如下:

select * from user where binary name ='www.yoodb.com';

2、修改该字段的collation为binary,具体执行sql语句如下:

ALTER TABLE user MODIFY COLUMN name VARCHAR(60) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;

3、mysql查询默认是不区分大小写,案例如下:

select * from user where name= 'www.yoodb.com';
select * from user where name='WWW.YOODB.COM';

得到的结果是一样的.

4、如果需要进行区分的话,进行如下查询即可:

select * from user where binary name= 'www.yoodb.com';
select * from user where binary name='WWW.YOODB.COM';

此时得到的结果是就不一样了.

5、在建表时直接增加标识,就没有比较添加了,具体代码如下:

create table some_table(
      id varchar(50) NOT NULL,
   name char(20) binary
)

1)对于CHAR、VARCHAR和TEXT类型,BINARY属性可以为列分配该列字符集的校对规则;

2)BINARY属性是指定列字符集的二元 校对规则的简写;

3)排序和比较基于数值字符值。因此也就自然区分了大小写。

~阅读全文~人机检测~

关注下方微信公众号“Java精选”(w_z90110),回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。

Java精选专注程序员推送一些Java开发知识,包括基础知识、各大流行框架(Mybatis、Spring、Spring Boot等)、大数据技术(Storm、Hadoop、MapReduce、Spark等)、数据库(Mysql、Oracle、NoSQL等)、算法与数据结构、面试专题、面试技巧经验、职业规划以及优质开源项目等。其中一部分由小编总结整理,另一部分来源于网络上优质资源,希望对大家的学习和工作有所帮助。

评论

分享:

支付宝

微信