Indetifier

6.1  Identifier Syntax

   定义符肯能被unquoted或者quoted,如果unquoted,一个定义符必须遵循如下的规则:

     1.一个定义可能包含所有的字母字符,——和$

     2. 一个定义肯能是任何合法字符,even a digit。然而,他最好避免歧义。

     3.一个定义符不能完全有数字组成

对于引用的定义:

    1.一般,任何字符可以被包含在一个引用定义符。一个定义符不能包含一个0或者255数值值的字节和表的名字不能包好‘.’,'/',或者‘\’

    2. 一个引用可能有所有的数字组成

6.2 大小写注意

  1对于数据库和表的定义符,大小写取决于操作系统和服务器的文件系统,和取决于设置lower_case_table_names系统变量。

   2 对于列,索引,被存储的路径和触发器的定义符是大小写敏感的

   3.列的别名不是大小写敏感的

6.3 使用qualified names

     就是列和表的定义符被写使用‘.’分隔符。例如Country表值word数据库可能被引用world.Country,如果默认的数据库存在时,下面的等同:

    select * from country;

   select  * from  world.Country;

对于列的名字肯能被qualified,使用Country.Name.

一个更进一步的列的是可能因为一个表的名字肯能是使用database名字。所以,另外的方式引用Namelie是world.Country.Name  如果word是默认数据库,接下的语句时等同。

select name from country;

select country.name from country;

select world.country.name from world.county;

一个触发器可以附带到一个表上,一个触发器的定义符应该有table_name.trigger_name

6.4 Using Reserved Words as Indentifiers

反转单词是特别的。例如,功能名字不能用作定义符例如表或列明,如果你试图这样做了将产生一个错误。

create table t (order int not null unique, d date not null);

产生错误。

为了使用reserved(预留)单词作为数据库,表,列或者索引的定义符,将有一个或两个运行引用样式,取决于服务器SQL模式。默认,引用预留的单词在backtick(‘’)。

create table t('order' int not null unique, d date not null);

ok

如果ansi-quotes采用了

create table t("order" int not null unique, d date not null);

ok

为了使用预留关键字作为别名,引用它作为但引用号或者双引号或者backticks。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值