• MySQL转义字符的使用

    在 MySQL 中,除了常见的字符之外,我们还会遇到一些特殊的字符,如换行符、回车符等。这些符号无法用字符来表示,因此需要使用某些特殊的字符来表示特殊的含义,这些字符就是转义字符。

    转义字符一般以反斜杠符号\开头,用来说明后面的字符不是字符本身的含义,而是表示其它的含义。MySQL 中常见的转义字符如下表所示。

    转义字符 转义后的字符
    \" 双引号(")
    \' 单引号(')
    \\ 反斜线(\)
    \n 换行符
    \r 回车符
    \t 制表符
    \0 ASCII 0(NUL)
    \b 退格符

    转义字符区分大小写,例如:'\b' 解释为退格,但 '\B' 解释为 'B'。

    有以下几点需要注意:

    • 字符串的内容包含单引号'时,可以用单引号'或反斜杠\来转义。
    • 字符串的内容包含双引号"时,可以用双引号"或反斜杠\来转义。
    • 一个字符串用双引号" 引用时,该字符串中的单引号 '不需要特殊对待,且不必被重复转义。同理,一个字符串用单引号' 引用时,该字符串中的双引号" 不需要特殊对待,且不必被重复转义。

    例 1

    下面通过 SELECT 语句演示单引号'  双引号" 和反斜杠\的使用:

    mysql> SELECT 'C', '"C"','""C""','C语言''中文网',  '\'C';
    +-------------+---------------+-----------------+--------------+--------------+
    | C | "C" | ""C"" | C语言'中文网 | 'C |
    +-------------+---------------+-----------------+--------------+--------------+
    1 row in set (0.07 sec)
    
    mysql> SELECT "C ", "'C'", "''C''", "C语言""中文网", "\"C";
    +--------------+---------------+-----------------+--------------+--------------+
    | C  | 'C' | ''C'' | 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,双引号。用“\"”表示。

更多...

加载中...