MySQL:区分大小写

avatar
作者
猴君
阅读量:0

本文有点不准,仅作参考;可以使用MySQL的大小写相互转换,再拼接or来规避

查看MySQL版本 show variables; 

1、查看 MySQL 当前的区分大小写设置:
SHOW VARIABLES LIKE 'lower_case_table_names';

或者

show Variables like '%table_names'


2、更改大小写敏感设置:
在 MySQL 5.7 中,更改大小写敏感设置要求修改配置文件 my.cnf 或 my.ini 文件,并重启 MySQL 服务器。不过,在 MySQL 8.0 中,我们可以直接更改 lower_case_table_names 系统变量的值,而不必重启 MySQL 服务器。下面是一些常用的设置值:
· 0:区分大小写(默认设置)
· 1:不区分大小写,存储时将所有名称转换为小写
· 2:不区分大小写,存储时将所有名称转换为大写
如果要将 MySQL 的大小写敏感设置修改为不区分大小写,存储时将所有名称转换为小写的设置,我们可以执行以下命令:
SET GLOBAL lower_case_table_names=1;
注意:如果存在已经存在的表,删除大小写敏感设置可能会导致表名不一致,所以改变这个设置可能会导致一些不兼容的问题。

正题:

但是这不是今天我们想要的,以上是WHERE关键字区分,去过我们想要SELECT结果中区分该怎么办呢?

答案是:修改该字段的字符集,一般我们创建数据库是会给个默认的 utf8mb4_general_ci 字符集(作用整库、所有字段都会默认这个字符集),如果我们想要区分大小写的话 utf8mb4_general_ci 字符集是无法满足的;所以需要修改这个字段的字符集为 utf8mb4_bin ,然后我们运行以下语句 就可以分别查出大小写不同的数据

1、utf8mb4_bin 字符集查询数据

2、utf8mb4_general_ci 字符集查询数据

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!