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"来查询该表,而使用其他大小写形式的语句将无法执行。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一介草民丶

谢谢老板的一分钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值