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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (8)

例如,mysql引用表名使用

SELECT * FROM `table_name`;

注意`

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

提问于
用户回答回答于

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

  • 包括空格:“我的桌子”
  • 包括特殊字符和标点符号:“my-table”
  • 包括国际字符:“我的表”
  • 区分大小写:“MyTable”
  • 匹配SQL关键字:“table”

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

SELECT * FROM "my table";

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

SELECT * FROM `my table`;
SET GLOBAL SQL_MODE=ANSI_QUOTES;
SELECT * FROM "my table";

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

SELECT * FROM [my table];
SET QUOTED_IDENTIFIER ON;
SELECT * FROM "my table";

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

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

用户回答回答于

当QUOTED_IDENTIFIER选项为ON时,SQL Server使用[方括号]或“双引号”。

我相信双引号符合SQL-92标准。

扫码关注云+社区

领取腾讯云代金券