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。
總結
以上是生活随笔為你收集整理的Indetifier的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 处理丢失和无效的数据值
- 下一篇: cursoradpter自动更新