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

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

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

慕村225694 2019-08-01 06:01:10
不同的数据库是否使用不同的名称引号?例如,MySQL引用表名SELECT * FROM `table_name`;注意‘其他数据库是否使用不同的char引用它们的表名?
查看完整描述

3 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞


这种引号的使用称为分隔标识符。它是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-08-02
?
MMTTMM

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

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

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



查看完整回答
反对 回复 2019-08-02
?
慕容708150

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


简洁地说,是的。

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

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

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



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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号