原创

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),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

分享:

支付宝

微信