MySQL 查询语句中单引号、双引号、反引号的区别 - MySQL 系列教程

卡拉先生
发布于 2020年09月26日 | 上次编辑:2020年09月26日

MySQL 查询语句中单引号、双引号、反引号的区别
MySQL 查询语句中单引号、双引号、反引号的区别

在使用 MySQL 查询语句的时候,我们有时候会碰到字符串包含「单引号」或「双引号」甚至「反引号」的情况,那么他们之间究竟有什么区别的呢?这些引号又是如何用转义表示的呢?本篇教程将为你细细讲述。

如果你对 MySQL 还不了解,可以从我们的初学者教程开始看起,或访问我们的技术社区查看更多 MySQL 教程。

要在 MySQL 里使用单双引号、反引号,首先我们要明白两个基本知识点:

  1. 引号(无论单双)是在字符串上使用的。
  2. 反引号是用在表和列名上的。

搞清了这两个基本区分,我们就来挨个看看它们。

双引号

这里有一些使用双引号的输出案例:

SELECT "test", "'test'", "''test''", "te""st";

输出如下:

quote1

在双引号里面使用单引号将会取消单引号在 MySQL 查询语句里的正常效果,并会让单引号以字符串的方式存在。上面的第二个,第三个就是典型的例子。

如果在字符串写了两个连续的双引号,就会取消掉一个的效果,进而只把一个作为字符串展示。

单引号

再来看一些使用单引号的输出案例:

SELECT 'test', '"test"', '""test""', 'te''st';

输出如下:

quote2

可以看到,和上面双引号一样,单引号也是类似的机制。

单引号双引号一起用

在字符串里我们有时候会遇到英文缩写或者单引号,例如在一些 NPS 调查报告或者客户反馈里,经常能看到这样的写法。在这种情况下,我们通常需要用双引号来包住字符串,这样类似 They've 这样的缩写就会把单引号保留下来了。

所以在上面的案例中,要展示这样一个字符串的代码如下:

SELECT "They've found this tutorial to be helpful"

输出会类似下面这样

They've found this tutorial to be helpful

又或者反过来,你需要用双引号来表示对于客户反馈的引用,你也可以用单引号来包住整个字符串:

SELECT 'They responded, "We found this tutorial helpful"'

更极端的情况下,在一个字符串里你单双引号都要用,因为可能这个字符串里既有缩写,又有引用。这是时候你就需要用到反斜线来进行字符转义了。例如,你可以用反斜线加上 ',这样它就会被取消语法含义,而是直接作为一个普通的单引号插入到字符串里。

SELECT 'They\'ve responded, "We found this tutorial helpful"'

结果如下:

They've responded, "We found this tutorial helpful"

反引号

反引号常常在 MySQL 中被用来选择表,或者表的部分列数据。下面这个例子中,我们需要选择 Album 表中 Title 这列数据,所以我们使用了反引号来进行操作:

    SELECT `Album`.`Title`
    FROM `Album` AS `Album`
    GROUP BY `Album`.`Title`
    ORDER BY `Title` ASC
    LIMIT 10;

其实这些反引号也可以不写

    SELECT Album.Title
    FROM Album AS Album
    GROUP BY Album.Title
    ORDER BY Title ASC
    LIMIT 10;

上面这两段代码都会输出:

quote3

全都混在一起

下面这个查询语句,将会把我们上面所学的单引号、双引号、反引号应用到一起:

SELECT 'They\'ve responded, "We found this tutorial helpful"' as `Response`

它的输出是:

quote4

看到这里,几种引号的用途大家应该心里有数了,接下来,在我们的 MySQL 系列教程中你还可以学习到

同时也欢迎使用我们的数据库搜索工具「卡拉搜索」。

一行代码快速部署「站内搜索」,app、小程序皆可使用。精准智能排序,毫秒级搜索体验。卡拉搜索 Demo,欢迎体验。

友情链接更新日志© 2020, 卡拉搜索, Built with ❤️ in San Francisco + Beijing

京ICP备15049164号-3