第七下载是国内最新、最齐、最安全的软件下载基地!

关于我们最近更新 热门排行

热门搜索:腾讯QQWindowsAutodeskAdobeAndroid

当前位置:首页 ›› 编程开发 ›› 关于SQL语句中字母大小写问题详解

关于SQL语句中字母大小写问题详解

2014-12-15 11:17   作者:佚名   来源:本站整理   浏览:349   评论:2  

MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

SQL语句中的字母大小写规则随语句元素的不同而变化,同时还要取决于你正引用的事物和MySQL服务器主机上的操作系统。

SQL关键字和函数名。关键字和函数名不区分字母的大小写。它们可以为任意的字母大小写组合。下面的语句将检索出同样的信息(但输出结果中的数据列标题将是不同的字母大小写组合):

SELECT NOW();
select now();
sElEcT nOw();
关于SQL语句中字母大小写问题详解

数据库、数据表和视图的名字。在服务器主机上,MySQL数据库和数据表用底层文件系统中的目录和文件表示。因而数据库和数据表名字的默认字母大小写情况将取决于服务器主机上的操作系统在文件名方面的规定。Windows文件名不区分字母的大小写,所以运行在Windows主机上的MySQL服务器也就不区分数据库和数据表名字的字母大小写。运行在Unix主机上的MySQL服务器往往要区分数据库和数据表名字的字母大小写,因为Unix文件系统是区分字母大小写的。Mac OS X平台上的HFS+文件系统中的名字是个例外,不区分字母的大小写。

MySQL使用一个文件来表示一个视图,所以刚才与数据表有关的讨论也同样适用于视图。

存储程序的名字。存储函数、存储过程和事件的名字不区分字母的大小写。触发器的名字要区分字母的大小写,这一点和标准的SQL行为是不一样的。

数据列和索引的名字。数据列和索引的名字在MySQL环境里不区分字母的大小写。下面的语句将检索出同样的信息:

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

假名的名字。在默认的情况下,数据表假名区分字母的大小写。可以使用任意的字母大小写组合(大写、小写或大小写混用)来给出一个假名,但如果需要在同一条语句里多次用到同一个假名,就必须让它们保持同样的字母大小写组合。如果lower_case_table_names变量是非零值,数据表假名将不区分字母的大小写。

字符串值。字符串值是否区分字母大小写,这取决于它是二进制还是非二进制,而非二进制字符串还要取决于字符集的排序方式。这对字符串常数值和字符串数据列的内容都不例外。

当你在一台区分文件名字母大小写的机器上创建数据库和数据表时,应该这样思考字母大小写的问题:日后有没有可能需要把它们迁移到一台不区分文件名字母大小写的机器上去?假设你已经在一台Unix服务器上创建了两个名字分别是abc和ABC的数据表--这两个名字在这台服务器上是区别对待的,当你想把这两个数据表迁移到一台Windows机器上时就会遇到麻烦。因为新机器不区分字母的大小写,abc和ABC将无法区别对待。在把数据表从一台Unix主服务器复制到一台Windows从服务器时也会遇到麻烦。

避免字母大小写问题演变成棘手难题的办法之一,是选定一种字母大小写方案,一直遵照该方案去创建数据库和数据表。这样一来,等你日后想把某个数据库迁移到不同的服务器上时,名字的大小写问题就不存在了。我的建议是统一使用小写字母。这在你使用InnoDB数据表时也有益处,因为InnoDB引擎在其内部是把数据库和数据表的名字保存为小写字母的。

如果想统一使用小写字母来创建数据库和数据表的名字--就算没在CREATE语句里特意设定也能如此,可以通过设置lower_case_table_name系统变量来配置服务器。

不管你的系统是否区分数据库或数据表名字的字母大小写,你在给定的查询里必须使用一致的大小写组合来引用它。SQL关键字、函数名、数据列名和索引名不必如此拘泥,因为MySQL允许在查询命令里使用任意的字母大小写组合。不过,如果能坚持使用统一的风格而不是随意混搭的话,查询命令会有更好的可读性。

Tags:责任编辑:kang1127
    1. 电脑录音软件电脑录音软件推荐

      第七下载提供的电脑录音机可以把电脑里网站上播放的歌曲或任何网络收音机音频都录制下来并制作成音频格式。还可把麦克风输入的音频也录制下来,制作属于自己的音频,功能多样,喜欢的朋友赶快下载体验吧!...

    软件评论

    请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

        登录   注册
    猜你喜欢