数据库

Mysql 查询时不区分大小写的解决方案

位置:首页 > 数据库 > mysql教程,2018-08-14 21:43
mysql数据库中默认查询不区分大小写的,如果想在进行查询时区分大小写需要进行简单的配置操作,下面本人为大家提供了一种解决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.ablanxue.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.ablanxue.com';
select * from user where name='WWW.ABLANXUE.COM';

得到的结果是一样的.


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

select * from user where binary name= 'www.ablanxue.com';
select * from user where binary name='WWW.ABLANXUE.COM';

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


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

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


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

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

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

TAGS:Mysql 不区分大小写

猜你喜欢

NewHot