不同的数据库使用不同的名称引用?

Azr*_*him 23 mysql database

例如,mysql引用表名使用

SELECT * FROM `table_name`;
Run Code Online (Sandbox Code Playgroud)

注意`

其他数据库是否使用不同的char来引用其表名

Bil*_*win 33

引号的这种使用称为分隔标识符.它是SQL的重要组成部分,因为否则您不能使用以下标识符(例如表名和列名):

  • 包括空格:"我的桌子"
  • 包括特殊字符和标点符号:"my-table"
  • 包括国际字符:"私のテーブル"
  • 区分大小写:"MyTable"
  • 匹配SQL关键字:"table"

标准SQL语言使用双引号作为分隔标识符:

SELECT * FROM "my table";
Run Code Online (Sandbox Code Playgroud)

MySQL默认使用反引号.MySQL可以使用标准双引号:

SELECT * FROM `my table`;
SET GLOBAL SQL_MODE=ANSI_QUOTES;
SELECT * FROM "my table";
Run Code Online (Sandbox Code Playgroud)

Microsoft SQL Server默认使用括号.Microsoft可以使用标准双引号:

SELECT * FROM [my table];
SET QUOTED_IDENTIFIER ON;
SELECT * FROM "my table";
Run Code Online (Sandbox Code Playgroud)

InterBase和Firebird需要将SQL方言设置为3以支持分隔标识符.

大多数其他品牌的数据库正确使用双引号.

  • @fedorqui,我得出的结论是您或其他人配置了“QUOTED_IDENTIFIER=ON”,否则它现在在 SQL Server 上默认处于打开状态。 (2认同)