【问题标题】:Database name restrictions数据库名称限制
【发布时间】:2016-02-19 13:10:21
【问题描述】:

我想知道数据库中的数据库、表和列命名限制是什么? (MySQL、MSSQL、Oracle 等)

举个例子:

数据库名称 列名 表名 列_1

表格名称

我们可以使用符号“_”,数字等也没有问题。

但我们不能使用“。”当我们命名时。

【问题讨论】:

  • 如果您希望名称在多个数据库之间兼容,只需使用字母数字字符和数字,不要以数字开头。
  • 感谢您的提示,但问题是我将成为连接到任何不是我设计的数据库的人。我会阅读他们的数据库、表格和列。

标签: database naming


【解决方案1】:

常规标识符的格式规则取决于数据库兼容级别。可以使用 ALTER DATABASE 设置此级别。当兼容级别为 100 时,适用以下规则:

  1. 第一个字符必须是以下之一:

    • Unicode 标准 3.2 定义的字母。字母的 Unicode 定义包括从 a 到 z、从 A 到 Z 的拉丁字符,以及来自其他语言的字母字符。

    • 下划线 (_)、at 符号 (@) 或数字符号 (#)。

      标识符开头的某些符号在 SQL Server 中具有特殊含义。以 at 符号开头的常规标识符始终表示局部变量或参数,不能用作任何其他类型对象的名称。以数字符号开头的标识符表示临时表或过程。以双数字符号 (##) 开头的标识符表示全局临时对象。虽然数字符号或双数字符号字符可用于其他类型对象的名称开头,但我们不推荐这种做法。

      某些 Transact-SQL 函数的名称以双 at 符号 (@@) 开头。为避免与这些函数混淆,您不应使用以 @@ 开头的名称。

  2. 后续字符可以包括以下内容:

    • Unicode 标准 3.2 中定义的字母。

    • 来自基本拉丁文或其他国家文字的十进制数字。

    • at 符号、美元符号 ($)、数字符号或下划线。

  3. 标识符不能是 Transact-SQL 保留字。 SQL Server 保留保留字的大写和小写版本。

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

  5. 不允许使用补充字符。

在 Transact-SQL 语句中使用标识符时,不符合这些规则的标识符必须用双引号或括号分隔。

【讨论】:

    【解决方案2】:

    请阅读这篇关于数据库命名约定的文章:

    https://launchbylunch.com/posts/2014/Feb/16/sql-naming-conventions/

    【讨论】:

      猜你喜欢
      • 2020-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 2011-01-23
      • 2021-06-12
      • 2012-12-17
      相关资源
      最近更新 更多