MySQL大小写敏感、MySQL设置字段大小写敏感

文章目录

以下内容基于Mysql:8.0.20进行讲解。

所谓的大小写敏感指的是指的是大写与小写是两个两个值,而大小写不敏感指的是小写跟大写看做是一个值。

一、MySQL大小写敏感规则

Linux下:

  • 数据库名与表名是严格区分大小写的;
  • 表的别名是严格区分大小写的;
  • 列名与列的别名在所有的情况下均是忽略大小写的;
  • 变量名也是严格区分大小写的;

Windows下:

  • 都不区分大小写。

Mac OS下,文件系统类型HFS+,非UFS卷:

  • 都不区分大小写。

MySQL中控制数据库名和表名的大小写敏感由参数lower_case_table_names控制,为0时表示区分大小写,为1时,表示将名字转化为小写后存储,不区分大小写。在不同的操作系统上,这个参数的默认值不同:

  • Unix(包括Linux)下,默认值为0,表示对数据库名和表名的大小写是敏感的。
  • Windows下,默认值为1,表示不敏感,即在存储和查找时会将名称转换为小写。
  • macOS下,默认值为2,表示存储区分大小写,但在查询时会转换为小写。

官网介绍:https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html
在这里插入图片描述

lower_case_table_names:

  • 0: 使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母在硬盘上保存表名和数据库名。名称比较对大小写敏感。在大小写不敏感的操作系统如windows或Mac OS x上我们不能将该参数设为0,如果在大小写不敏感的文件系统上将此参数强制设为0,并且使用不同的大小写访问MyISAM表名,可能会导致索引破坏。

  • 1: 表名在硬盘上以小写保存,名称比较对大小写不敏感。MySQL将所有表名转换为小写在存储和查找表上。该行为也适合数据库名和表的别名。该值为Windows的默认值。

  • 2: 表名和数据库名在硬盘上使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母进行保存,但MyS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值