当前位置: 首页 > 面试题库 >

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

班展
2023-03-14
问题内容

例如,mysql引用表名使用

SELECT * FROM `table_name`;

注意`

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


问题答案:

引号的这种使用称为定界标识符。这是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以支持定界标识符。

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



 类似资料:
  • 问题内容: 您将如何在不同的环境中处理跨数据库查询。例如,db1-development和db2-development,db1-production和db2-production。 如果要在从db2到db1的开发中进行跨数据库查询,则可以使用完全限定的名称,即[db1-development]。[schema]。[table]。但是,如何在不同环境之间维护查询和存储过程?[db1-develop

  • 我得到了(超过)两个Api POSTendpoint。每一个都需要一个json作为参数。但是当我在两个endpoint参数类中使用相同的类名负载时,Swagger就不起作用了。当我改变其中的一个,例如从有效载荷到有效载荷1时,它就不起作用了。当然,我在包装类中设置了正确的名称空间,以便它找到负载。但我希望每次都使用相同的名称“有效载荷”。如何使用相同的类名负载?在这两种情况下,我都可以保留json

  • 问题内容: 下面的引号“和”之间有什么区别?“怎么办?在下面使用不同的引号”是否存在错误? 问题答案: 使用单引号(’)时不会完成变量替换,这意味着第一个示例中的值在字面上将是$ 1 $ 2,如果它是常规字符串并且没有传递给替换它们的函数,则该值为等。 如果您不需要变量替换,出于性能原因,最好使用单引号。 ``调用shell引擎并将其作为实际命令调用,并返回结果,就像在perl中一样。因此,它具有

  • 问题内容: H2似乎在带引号的名称和不带引号的名称之间有所不同。有没有办法让他们以相同的方式对待他们? 这是我已经完成的测试: 这是查询: 我该怎么做才能使这些查询与H2一起使用? 问题答案: 根据SQL规范的要求,H2中的引号名称区分大小写。这意味着它将起作用: 但这不会: 在H2中,不带引号的名称不区分大小写。它们通常会转换为大写字母(例如在Oracle和其他数据库中)。这意味着声明 与…相同

  • 出于安全原因,我希望在Redis中使用类似的代码,因为目前我可以使用,但我必须将其添加到每个希望连接到Redis的应用程序中。(至少有一种方法可以为使用多个密码吗? 我可以用一个应用程序连接到一个数据库,但是这个应用程序也可以切换到另一个数据库。(我至少可以用某种方法阻止这种切换吗?) 出于性能原因,我希望避免并行运行多个redis实例。

  • 问题内容: 我正在尝试获得类似这样的功能的参考: 我有以下错误: 如何获得具有指定参数的功能? 问题答案: 由于有两个名称相同但签名不同的方法,因此您必须指定所需的方法: 或者(如@Antonio正确指出的): 如果您需要将类的实例作为第一个参数的咖喱函数,则可以以相同的方式进行,只有签名不同(将@Antonios注释与您的问题进行比较):