MySQL中SQL语句的大小写规则(表名、字段名、字段值区分大小写吗?)

SQL语句中的大小写规则与操作系统有关。在MySQL中,关键字和函数名不区分大小写,但数据库名、表名和视图名在Linux系统上区分大小写,Windows系统则不区分。列名和索引名通常不区分大小写。阿里巴巴Java开发手册建议所有表名、字段名使用小写字母,避免在Linux环境下出现问题。存储程序名不区分大小写,但触发器名区分大小写。
摘要由CSDN通过智能技术生成

SQL 语句的大小写规则与语句组成元素、引用内容和服务器所使用的操作系统有关。

1. SQL 关键字和函数名

   SQL 的关键字和函数名不区分大小写。

2. 数据库名、表名和视图名

   MySQL 用服务器主机的底层文件系统所包含的目录和文件来表示数据库和表。因此,数据库名和表名的默认大小写取决于服务器主机的操作系统在命名方面的规定。
   比如 Windows 系统 的文件名不区分大小写,所以运行在 Windows 系统上面的 MySQL 服务器也不用区分数据库名和表名的大小写。Linux 系统的文件名区分大小写,所以运行在 Linux 系统上的 MySQL 服务器需要区分数据库名和表名的大小写。对于 Mac OS X 平台,其文件系统中的名字是个例外,它们不区分大小写。
   MySQL 会使用一个文件来表示一个视图,所以以上与表有关的也同样适用于视图。
   注意:默认情况下,表的别名要区分大小写。SQL 语句中可以使用任意的大小写(大写、小写或大小写混用)来指定一个别名。如果需要在同一条语句里多次用到同一个别名,则必须让它们的大小写保持一致。

3. 存储程序的名字

   存储函数、存储过程和事件的名字都不区分大小写。触发器的名字要区分大小写,这一点与标准 SQL 的行为有所不同。

4. 列名和索引名

   在 MySQL 里,列名和索引名都不区分大小写。

下面用一个表格总结一下SQL 元素在 Windows 和 Linux 系统是否区分大小写:

WindowsLinux
数据库名否(忽略大小写)
表名
表别名
列名否(忽略大小写)
列别名否(忽略大小写)
变量名

在阿里巴巴 Java 开发手册的 MySql 建表规约里提到:
   【强制】表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。
   通俗的说就是,MySQL 在 Windows 系统下不区分大小写,但在 Linux 系统下默认区分大小写。因此,数据库名、表名和字段名,都不允许出现任何大写字母,避免节外生枝。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值