Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL不区分大小写配置

MySQL不区分大小写配置方法

作者:一介草民丶

MySQL 表内数据条件查询不区分大小写是因为排序规则的问题,本文主要介绍了MySQL不区分大小写配置方法,对大家的学习或者工作有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

1.表内数据条件查询不区分大小写

MySQL 表内数据条件查询不区分大小写是因为排序规则的问题.

在MySQL中,InnoDB存储引擎默认的字符集是utf8,utf8mb4等,这些字符集再存储数据时没有指定排序规则的话,会默认使用 utf8_general_ci或utf8mb4_general_ci 作为表的排序规则,那么该表内的数据讲不区分大小写,这两种排序规则都是case-insensitive(不区分大小写)的.

改为 utf8_bin 或者 utf8mb4_bin 是区分大小写的

2. 表名字段名不区分大小写

在MySQL中,表名和字段名默认是不区分大小写的。这意味着在查询和引用表和字段时,大小写不会影响执行结果。

例如,如果您创建了一个名为"mytable"的表,可以使用"SELECT * FROM mytable"或"SELECT * FROM MyTable"或"SELECT * FROM MYTABLE"等语句来查询该表。MySQL将不区分这些语句中的大小写。

如果您希望在MySQL中配置表名和字段名区分大小写,可以使用以下步骤:

打开MySQL配置文件(通常是my.cnf或my.ini)。

在[mysqld]部分中添加以下行:

sql
lower_case_table_names=0

lower_case_table_names = 0:表名区分大小写,且按照用户指定存储。
lower_case_table_names = 1:表不区分大小写,使用小写存储。
lower_case_table_names = 2:表不区分大小写,按照用户指定存储。

在不同系统上运行,会有不同的默认值

需要注意的是 在 Linux 系统中不支持设置为 2 当用户设置为 2 时,将被强制改为 0。

保存并关闭配置文件。

重启MySQL服务器。

这将使MySQL区分表名和字段名的大小写。例如,如果您创建了一个名为"MyTable"的表,则只能使用"SELECT * FROM MyTable"来查询该表,而使用其他大小写形式的语句将无法执行。

以上就是MySQL不区分大小写配置方法的详细内容,更多关于MySQL不区分大小写配置的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文