900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mysql查看大小写敏感_MySQL查询大小写是否敏感问题分析

mysql查看大小写敏感_MySQL查询大小写是否敏感问题分析

时间:2021-08-15 17:23:55

相关推荐

mysql查看大小写敏感_MySQL查询大小写是否敏感问题分析

mysql数据库在做查询时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的。

1.什么是字符集和校验规则?

字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。任何一个给定的字符集至少有一个校对规则,它可能有几个校对规则。要想列出一个字符集的校对规则,使用SHOW COLLATION语句。

校对规则一般有这些特征:

两个不同的字符集不能有相同的校对规则。

每个字符集有一个默认校对规则。例如,utf8默认校对规则是utf8_general_ci。

存在校对规则命名约定:它们以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。

2.不同级别的字符集和校验规则可控制大小写敏感

MySQL5.1在同一台服务器、同一个数据库或甚至在同一个表中使用不同字符集或校对规则来混合定义字符串。字符集和校对规则有4个级别的默认设置:服务器级、数据库级、表级和连接级。

2.1服务器级

MySQL按照如下方法确定服务器字符集和服务器校对规则:

(1)修改配置文件/etc/f

在[mysqld]下添加:collation_server = utf8_bin

重启实例

更改服务器级的校验规则(collation_server)后,数据库校验规则(collation_collation)默认会继承服务器级的。

注意:

这个只适用于在重新启动之后, 新建的库,已存在的库不受影响.

同样的, 即使库的校验规则改了,已经存在的表不受修改影响;

同理与已经存在的列...

谢谢丁奇的提醒

mysql> create databaseyutest0;

Query OK,1 row affected (0.00sec)

mysql> useyutest0;Databasechanged

mysql> create table t1 (name varchar(10));

Query OK,0 rows affected (0.01sec)

mysql> insert into t1 values(AAA);

Query OK,1 row affected (0.00sec)

mysql> insert into t1 values(aaa);

Query OK,1 row affected (0.01sec)

mysql> select * fromt1;+------+

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。