数据库名称限制

Database name restrictions

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

举个例子:

database_name 列名 表名 column_1

table.name

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

但是我们不能用“.”当我们命名的时候。

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

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

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

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

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

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

    • 开头的名称
  2. 后续字符可以包括以下内容:

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

    • 来自基本拉丁语或其他国家脚本的小数。

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

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

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

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

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

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

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