一尘不染

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

mysql

例如,mysql引用表名使用

SELECT * FROM `table_name`;

注意`

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


阅读 281

收藏
2020-05-17

共1个答案

一尘不染

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

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

标准SQL语言对定界标识符使用双引号:

SELECT * FROM "my table";

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

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

默认情况下,Microsoft SQL Server和Sybase使用方括号。他们都可以通过以下方式使用标准双引号:

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

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

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

2020-05-17