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)排序和比较基于数值字符值。因此也就自然区分了大小写。