MySQL中SQL语句的大小写规则

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

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、网站设计、官渡网络推广、成都微信小程序、官渡网络营销、官渡企业策划、官渡品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供官渡建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

1) SQL 关键字和函数名

SQL 的关键字和函数名不区分大小写。例如,下面这些语句都是等价的:

SELECT NOW();
select now();
sElEcT nOw();

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

mysql 用服务器主机的底层文件系统所包含的目录和文件来表示数据库和表。因此,数据库名和表名的默认大小写取决于服务器主机的操作系统在命名方面的规定。

比如 Windows 系统的文件名不区分大小写,所以运行在 Windows 系统上面的 MySQL 服务器也不用区分数据库名和表名的大小写。Linux 系统的文件名区分大小写,所以运行在 Linux 系统上的 MySQL 服务器需要区分数据库名和表名的大小写。对于 Mac OS X 平台,其文件系统中的名字是个例外,它们不区分大小写。

MySQL 会使用一个文件来表示一个视图,所以以上与表有关的也同样适用于视图。

3) 存储程序的名字

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

4) 列名和索引名

在 MySQL 里,列名和索引名都不区分大小写。例如,下面这些语句都是等价的:

SELECT name FROM student ;
SELECT NAME FROM student ;
SELECT nAmE FROM student ;

5) 别名的名字

默认情况下,表的别名要区分大小写。SQL 语句中可以使用任意的大小写(大写、小写或大小写混用)来指定一个别名。如果需要在同一条语句里多次用到同一个别名,则必须让它们的大小写保持一致。

 

下表总结了 SQL 元素在 Windows 和 Linux 系统是否区分大小写。

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

在 Linux 服务器下创建数据库和表时,应该认真考虑大小写的问题,比如它们以后是否会迁移到 Windows 服务器上。

假设你在 Linux 服务器上创建了 abc 和 ABC 两个表,当把这两个表迁移到 Windows 服务器上时,就会出现问题;因为 Windows 系统并不区分大小写,abc 和 ABC 无差别。如果把表从 Linux 服务器迁移到 Windows 服务器时,也同样会遇到问题。

想要避免大小写问题,可以先选定一种大小写方案,然后一直按照该方案去创建数据库和表。

在阿里巴巴 Java 开发手册的 MySql 建表规约里提到: 通俗的说就是,MySQL 在 Windows 系统下不区分大小写,但在 Linux 系统下默认区分大小写。因此,数据库名、表名和字段名,都不允许出现任何大写字母,避免节外生枝。

 

一般建议统一使用小写字母,并且 InnoDB 引擎在其内部都是以小写字母方式来存储数据库名和表名的。这样可以有效的防止 MySQL 产生大小写问题。

网站名称:MySQL中SQL语句的大小写规则
分享链接:http://www.shufengxianlan.com/qtweb/news30/284230.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联