为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

陪伴而非守候 2019-07-17 16:45:36
不同的数据库是否使用不同的名称引号?例如,MySQL引用表名SELECT * FROM `table_name`;注意‘其他数据库是否使用不同的char引用它们的表名?
查看完整描述

3 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

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

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

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

SELECT * FROM "my table";

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

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

默认情况下,MicrosoftSQLServer使用括号。微软可以使用标准双引号:

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

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

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


查看完整回答
反对 回复 2019-07-17
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

使用[方括号]或“双引号”时,SQL Server将使用QUED_IDENTICER选项。

我相信双引号在SQL92标准中。


查看完整回答
反对 回复 2019-07-17
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

简洁地说,是的。

SQL标准在名称周围使用双引号来表示“分隔标识符”。

Informix默认使用单引号和双引号来表示字符串。但是,通过设置环境变量DELIMIDENT,您可以打开SQL标准行为-字符串周围的单引号和分隔标识符周围的双引号。

其他人列出了其他DBMS的其他行为;我不需要重复这些行为。


查看完整回答
反对 回复 2019-07-17
  • 3 回答
  • 0 关注
  • 528 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信