MySQL转义字符的使用
精华
小牛编辑
214浏览
2023-03-14
在 MySQL 中,除了常见的字符之外,我们还会遇到一些特殊的字符,如换行符、回车符等。这些符号无法用字符来表示,因此需要使用某些特殊的字符来表示特殊的含义,这些字符就是转义字符。
转义字符一般以反斜杠符号
转义字符区分大小写,例如:'\b' 解释为退格,但 '\B' 解释为 'B'。
有以下几点需要注意:
如果你想要把二进制数据插入到一个 BLOB 列,下列字符必须使用反斜杠
转义字符一般以反斜杠符号
\
开头,用来说明后面的字符不是字符本身的含义,而是表示其它的含义。MySQL 中常见的转义字符如下表所示。
转义字符 | 转义后的字符 |
---|---|
\" | 双引号(") |
\' | 单引号(') |
\\ | 反斜线(\) |
\n | 换行符 |
\r | 回车符 |
\t | 制表符 |
\0 | ASCII 0(NUL) |
\b | 退格符 |
转义字符区分大小写,例如:'\b' 解释为退格,但 '\B' 解释为 'B'。
有以下几点需要注意:
- 字符串的内容包含单引号
'
时,可以用单引号'
或反斜杠\
来转义。 - 字符串的内容包含双引号
"
时,可以用双引号"
或反斜杠\
来转义。 - 一个字符串用双引号
"
引用时,该字符串中的单引号'
不需要特殊对待,且不必被重复转义。同理,一个字符串用单引号'
引用时,该字符串中的双引号"
不需要特殊对待,且不必被重复转义。
例 1
下面通过 SELECT 语句演示单引号'
双引号
"
和反斜杠
\
的使用:
mysql> SELECT '小牛知识库', '"小牛知识库"','""小牛知识库""','C语言''中文网', '\'小牛知识库'; +-------------+---------------+-----------------+--------------+--------------+ | 小牛知识库 | "小牛知识库" | ""小牛知识库"" | C语言'中文网 | '小牛知识库 | +-------------+---------------+-----------------+--------------+--------------+ 1 row in set (0.07 sec) mysql> SELECT "小牛知识库 ", "'小牛知识库'", "''小牛知识库''", "C语言""中文网", "\"小牛知识库"; +--------------+---------------+-----------------+--------------+--------------+ | 小牛知识库 | '小牛知识库' | ''小牛知识库'' | C语言"中文网 | "小牛知识库 | +--------------+---------------+-----------------+--------------+--------------+ 1 row in set (0.00 sec) mysql> SELECT "This\nIs\nC语言\n中文网"; +----------------------+ | This Is C语言 中文网 | +----------------------+ 1 row in set (0.00 sec)
如果你想要把二进制数据插入到一个 BLOB 列,下列字符必须使用反斜杠
\
转义:
-
NUL
:ASCII 0。可以使用“\0“表示。 -
\
:ASCII 92,反斜线。用“\\”表示。 -
'
:ASCII 39,单引号。用“\'”表示。 -
"
:ASCII 34,双引号。用“\"”表示。