2016-02-19 181 views
0

我在想什麼數據庫中的數據庫,表和列命名限制? (MySQL和MSSQL,Oracle等)數據庫名稱限制

舉個例子:

數據庫名稱 COLUMNNAME 表名 COLUMN_1

table.name

我們可以使用符號 「_」 和也沒有數字等問題,等等。

但我們不能使用「。」當我們命名。

+1

如果你想跨多個數據庫兼容的名稱,只是用字母數字字符和數字,並且不以數字開頭的名稱。 –

+0

感謝您的提示,但問題是我將成爲連接到任何不是由我設計的數據庫的人。我將閱讀他們的數據庫,表格和專欄。 –

回答

0

常規標識符格式的規則取決於數據庫的兼容性級別。這個級別可以通過使用ALTER DATABASE來設置。當兼容水平是100,適用下列規則:

  1. 第一個字符必須是下列之一:

    • 信Unicode標準3.2所定義的。字母的Unicode定義包括從a到z,從A到Z的拉丁字符以及其他語言的字母字符。

    • 下劃線(_),符號(@)或數字符號(#)。

      標識符開頭的某些符號在SQL Server中有特殊意義。以at開頭的常規標識符總是表示局部變量或參數,不能用作任何其他類型對象的名稱。以數字符號開頭的標識符表示臨時表或過程。以雙數字符號(##)開頭的標識符表示全局臨時對象。儘管可以使用數字符號或雙數字符號字符來開始其他類型對象的名稱,但我們不建議這種做法。

      某些Transact-SQL函數的名稱以符號(@@)處的double開頭。爲避免與這些功能混淆,您不應使用以@@開頭的名稱。

  2. 後續字符可以包括以下內容:

    • 字母如Unicode標準3.2定義。

    • 來自Basic Latin或其他國家腳本的十進制數字。

    • 符號,美元符號($),數字符號或下劃線。

  3. 標識符不能是Transact-SQL保留字。 SQL Server保留保留字的大寫和小寫版本。

  4. 不允許嵌入空格或特殊字符。

  5. 補充字符是不允許的。

在Transact-SQL語句中使用標識符時,不符合這些規則的標識符必須用雙引號或方括號分隔。