MySQL:区分大小写
作者:mmseoamin日期:2023-12-14

查看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 字符集查询数据

MySQL:区分大小写,第1张MySQL:区分大小写,第2张

2、utf8mb4_general_ci 字符集查询数据

MySQL:区分大小写,第3张MySQL:区分大小写,第4张