扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
一个字符串是一个字符序列,由单引号(“'”)或双引号(“"”)字符(后者只有你不在ANSI模式运行)包围。例如:
'a string' "another string"
在字符串内,某个顺序有特殊的意义。这些顺序的每一个以一条反斜线(“\”)开始,称为转义字符。MySQL识别下列转义字符:
\0
NUL
)字符。
\n
\t
\r
\b
\'
\"
\\
\%
\_
注意,如果你在某些正文环境中使用“\%”或“\%_”,这些将返回字符串“\%”和“\_”而不是“%”和“_”。
有几种方法在一个字符串内包括引号:
下面显示的SELECT
演示引号和转义如何工作:
mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello'; +-------+---------+-----------+--------+--------+ | hello | "hello" | ""hello"" | hel'lo | 'hello | +-------+---------+-----------+--------+--------+ mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello"; +-------+---------+-----------+--------+--------+ | hello | 'hello' | ''hello'' | hel"lo | "hello | +-------+---------+-----------+--------+--------+ mysql> SELECT "This\nIs\nFour\nlines"; +--------------------+ | This Is Four lines | +--------------------+
如果你想要把二进制数据插入到一个BLOB
列,下列字符必须由转义序列表示:
NUL
\
'
"
如果你写C代码,你可以使用C API函数mysql_escape_string()
来为INSERT
语句转义字符。见20.3 C API 函数概述。在 Perl中,你可以使用DBI
包中的quote
方法变换特殊的字符到正确的转义序列。见20.5.2 DBI
接口。
你应该在任何可能包含上述任何特殊字符的字符串上使用转义函数!
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。