思索网:WWW.4SO.NET
网站首页
设为首页
加入收藏
社区论坛
联系我们
网站地图
发现个人价值
提高企业内涵
一切源于思索
首页
企业之家
公关文秘
免费论文
网上办公指南
操作系统
多媒体应用
现代教学
下载中心
专题报道
推荐文章
评论
English Article
IT资讯
网页设计
网站运营
编程开发
平面设计
网络安全
工具下载
站内搜索
最新文章
热门文章
论坛
栏目列表
ASP专区
PHP专区
JSP专区
.Net专区
XML专区
其它网页编程
HTML&CSS
Dreamweaver
Frontpage
Javascript
数据库相关
服务器相关
网络媒体
建站经验
FLASH
网络安全
首页
>
站长学院
>
数据库相关
> MySQL数据库技术(12)
MySQL数据库技术(12)
日期:
2004-08-02 00:00:00
来源:
不详
请您记住思索网的网址:
http://www.4so.net
[加入收藏夹]
3.2 MySQL 的命名规则
几乎每条SQL 语句都在某种程度上涉及一个数据库或其组成成分。本节介绍引用数据库、表、列、索引和别名的语
法规
则。名称是区分大小写的,这里也对其进行了介绍。
3.2.1 引用数据库的成分
在用名称引用数据库的成分时,受到可使用的字符以及名称可具有的长度的限制。名称的形式还依赖于使用它们的上下文环境:
■ 名称中可用的字符。名称可由
服务器
所采用的字符集中任意字母、数字、“_”和“ $”组成。名称可按上述任意字符包括数字起头。但是名称不能单独由数字组成,因为那样会使其与数值相混。MySQL 所提供的名称用一个数起始的能力是很不寻常的。如果使用了这样的一个名称,要特别注意包含“ E”和“ e”的名称,因为这两个字符可能会导致与表达式的混淆。23e + 14 表示列23e 加1 4,但是23e+14 又表示什么?它表示一个科学表示法表示的数吗?
■ 名称的长度。数据库、表、列和索引的名称最多可由6 4个字符组成。别名最多可长达256个字符。
■ 名称限定词。为了引用一个数据库,只要指定其名称即可,如:
其中db_name 为所要引用的数据库名。要想引用一个表,可有两种选择。一种选择是使用由数据库名和表名组成的完全限定的表名,例如:
其中,tbl_name 为要引用的表名。另一种选择是由表名自身来引用缺省(当前)数据库中的一个表。如果samp_db 为缺省数据库中的一个表,下面的两个语句是等价的:
其中member 为数据库samp_db 中的一个表。要引用一个列,有三种选择,它们分别为:完全限定、部分限定和非限定。完全限定名(如db _ name . tbl _ name . col _ name)是完全地指定。部分限定名(如t b l _ name . col _ name)引用指定表中的列。非限定名(如col _ name)引用由环境上下文给出的表中的列。下面两个查询使用了相同的列名,但是FROM 子句提供的上下文指定了从哪个表中选择列:
虽然愿意的话,提供完全限定名也是合法的,但是一般不需要提供完全限定名,如果用USE 语句选择了一个数据库,则该数据库将成为缺省数据库并在每一个非限定表引用中都隐含指向它。如果正使用一条SELECT 语句,此语句只引用了一个表,那么该语句中的每个列引用都隐含指向这个表。只在所引用的表或数据库不能从上下文中确定时,才需要对名称进行限定。下面是一些会出现混淆的情形:
■ 从多个数据库中引用表的查询。任何不在缺省数据库中的表都必须用“数据库名表名”的形式引用,以便让MySQL 知道在哪个数据库中找到该表。
■ 从多个表中选择一列的查询,其中不止一个表含有具有该名称的列。
3.2.2 SQL 语句中的大小写规则
SQL 中的大小写规则在语句的不同部分是不同的,而且还取决于所引用的东西以及运行的操作系统。下面给出相应的说明:
■ SQL 关键字和函数名。关键字与函数名是不区分大小写的。可按任意的大小写字符给出。下面的三条语句是等价的:
■ 数据库与表名。MySQL 中数据库和表名对应于
服务器
主机上的基本文件系统中的目录和文件。因此,数据库与表名是否区分大小写取决于主机上的操作系统处理文件名的方式。运行在UNIX 上的
服务器
处理数据库名和表名是区分大小写的,因为UNIX 的文件名是区分大小写的。而Windows 文件名是不区分大小写的,所以运行在Windows上的
服务器
处理数据库名和表名也是不区分大小写的。如果在UNIX
服务器
上创建一个某天可能会移到Windows
服务器
上的数据库,应该意识到这个特性:如果现在创建了两个分别名为abc 和ABC 的表,它们在Windows 机器上将是没有区别的。避免这种情况发生的一种方法是选择一种字符(如小写),总是以这种字符创建数据库和表名。这样,在将数据库移到不同的
服务器
时,名称的大小写便不会产生问题。
■ 列与索引名。MySQL 中列和索引名是不区分大小写的。下面的查询都是等价的:
■ 别名。别名是区分大小写的。可按任意的大小写字符说明一个别名(大写、小写或大小写混合),但是必须在任何查询中都以相同的大小写对其进行引用。不管数据库、表或别名是否是区分大小写的,在同一个查询中的任何地方引用同一个名称都必须使用相同的大小写。对于SQL 关键字、函数名或列名和索引名没有这个要求。可在同一个查询中多个地方用不同的大小写对它们进行引用。当然,如果使用一致的大小写而不是“胡乱写”的风格(如SelECt NamE FrOm ...),相应的查询可读性要强得多。
本文地址:
http://www.4so.net/web/sql/2373.html
将本页加入收藏夹
将地址复制到剪贴板发送给好友
若发现本文有误或版权问题点击这里
热门信息
相关文章
[
数据库相关
]
用Access设计客观试卷(一)
[
数据库相关
]
Oracle数据库技术(18)
[
数据库相关
]
建立Access 数据库的安全门
[
数据库相关
]
ACCESS数据库的安全系统
[
数据库相关
]
将ACCESS转化成SQL2000要注意的问
[
数据库相关
]
Oracle数据库技术(12)
[
数据库相关
]
Access数据库开发技巧(一)
[
数据库相关
]
MySQL数据库函数详解(1)
[
数据库相关
]
MySQL数据库技术(01)
[
数据库相关
]
MySQL进阶_SELECT篇(二)
mysql数据库优化
解决php连新版本mysql数据库错误
.Net中操作MySql数据库
MySQL数据库类的定义
用perl访问mysql数据库之二
用perl访问mysql数据库之一
MySQL数据库函数详解(5)
MySQL数据库函数详解(4)
MySQL数据库函数详解(3)
MySQL数据库函数详解(2)
文章评论
收藏本文
打印本文
关闭窗口