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

标签 mysql database

例如mysql引用表名使用

SELECT * FROM `table_name`;

注意`

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

最佳答案

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

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

标准 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 以支持分隔标识符。

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

关于mysql - 不同的数据库使用不同的名称引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21225509/

相关文章:

php - 为 MySQL 表存储文本的最佳方式

mysql查询条件选择额外数据

mysql - 具有相同唯一列的表的主键或外键

database - Db2 系列在重复键上插入

mysql - 根据唯一用户名计算记录数

java - 如何将 ArrayList 引用到 HashMap 中

php - 正在备份 MySQL 数据库...转义字符串的正确方法?

mysql - 选择哪个结果在 MySQL 结果集中排在第一位

database - 使用 PostgreSQL 在插入时为行生成唯一 ID

database - 在 Entity Framework 中使用累积的存储桶值