在 MySQL 中,除了常见的字符之外,我们还会遇到一些特殊的字符,如换行符、回车符等。这些符号无法用字符来表示,因此需要使用某些特殊的字符来表示特殊的含义,这些字符就是转义字符。
转义字符一般以反斜杠符号\开头,用来说明后面的字符不是字符本身的含义,而是表示其它的含义。MySQL 中常见的转义字符如下表所示。
转义字符 | 转义后的字符 |
---|---|
\" | 双引号(") |
\' | 单引号(') |
\\ | 反斜线(\) |
\n | 换行符 |
\r | 回车符 |
\t | 制表符 |
\0 | ASCII 0(NUL) |
\b | 退格符 |
转义字符区分大小写,例如:'\b' 解释为退格,但 '\B' 解释为 'B'。
有以下几点需要注意:
下面通过 SELECT 语句演示单引号' 双引号" 和反斜杠\的使用:
mysql> SELECT '城东书院', '"城东书院"','""城东书院""','城东''书院', '\'城东书院'; +-------------+---------------+-----------------+--------------+--------------+ | 城东书院 | "城东书院" | ""城东书院"" | 城东'书院 | '城东书院 | +-------------+---------------+-----------------+--------------+--------------+ 1 row in set (0.07 sec) mysql> SELECT "城东书院 ", "'城东书院'", "''城东书院''", "城东""书院", "\"城东书院"; +--------------+---------------+-----------------+--------------+--------------+ | 城东书院 | '城东书院' | ''城东书院'' | 城东"书院 | "城东书院 | +--------------+---------------+-----------------+--------------+--------------+ 1 row in set (0.00 sec) mysql> SELECT "This\nIs\n城东\n书院"; +----------------------+ | This Is 城东 书院 | +----------------------+ 1 row in set (0.00 sec)
如果你想要把二进制数据插入到一个 BLOB 列,下列字符必须使用反斜杠\转义: