Mysql中的转义字符
来源:互联网 发布:linux c sleep 编辑:程序博客网 时间:2024/06/04 18:26
字符串是多个字符组成的一个字符序列,由单引号(“'”) 或双引号 (“"”) 字符包围。(但在 ANSI 模式中运行时只能用单引号)。
例如:
'a string'"another string"
在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“/”)开头,称为转义字符。 MySQL 识别下列转义字符:
/0
- 一个 ASCII 0 (
NUL
) 字符。 /'
- 一个 ASCII 39 单引号 (“'”) 字符。
/"
- 一个 ASCII 34 双引号 (“"”) 字符。
/b
- 一个 ASCII 8 退格符。
/n
- 一个 ASCII 10 换行符。
/r
- 一个 ASCII 13 回车符。
/t
- 一个 ASCII 9 制表符(
TAB
)。 /z
- ASCII(26) (Control-Z)。这个字符可以处理在 Windows 系统中 ASCII(26) 代表一个文件的结束的问题。(当使用
mysql database < filename
时 ASCII(26) 可能会引起问题产生。) //
- 一个 ASCII 92 反斜线 (“/”) 字符。
/%
- 一个 ASCII 37 “%” 字符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。查看章节 6.3.2.1 字符串比较函数。
/_
- 一个 ASCII 95 “_” 字符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。查看章节 6.3.2.1 字符串比较函数.
注意如果在某些正文环境内使用 “/%” 或 “/_”,将返回字符串 “/%” 和 “/_” 而不是 “%” 和 “_”。
字符串中包含引号的可以有下列几种写法:
- 一个字符串用单引号“'”来引用的,该字符串中的单引号“'”字符可以用“''”方式转义。
- 一个字符串用双引号“"”来引用的,该字符串中的“"”字符可以用“""”方式转义。
- 你也可以继续使用在引号前加一个转义字符“/”来转义的方式。
- 一个字符串用双引号“"”来引用的,该字符串中的单引号“'”不需要特殊对待而且不必被重复或转义。同理,一个字符串用单引号“'”来引用的,该字符串中的双引号“"”不需要特殊对待而且不必被重复或转义。
下面显示的 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";+--------------------+| ThisIsFourlines |+--------------------+
如果你想要把二进制数据插入到一个字符类型的字段中(例如BLOB
),下列字符必须由转义序列表示:
NUL
- ASCII 0,你应该用 “/0”(一个反斜线和一个ASCII “0”字符)表示它。
/
- ASCII 92,反斜线。需要用 “//” 表示。
'
- ASCII 39,单引号。需要用 “/'” 表示。
"
- ASCII 34,双引号。需要用 “/"” 表示。
如果你写 C 代码,你可以使用 C API 函数mysql_real_escape_string()
来为 INSERT
语句转义字符。查看章节 8.1.2 C API 函数概述。在 Perl 中,你可以使用 DBI
包中的 quote
方法来将这些特殊字符转换成适当的转义序列。查看章节 8.5.2 DBI
接口。
你应该在任何可能包含上述特殊字符的字符串中使用转义函数!
另外,很多 MySQL API 提供了一些占位符处理能力,这允许你在查询语句中插入特殊标记,然后在执行查询时对它们绑定数据值。这样,API 会自动为你从数值中转换它们。
- Mysql中的转义字符
- Mysql中的转义字符
- mysql执行语句中的转义字符`
- MySQL的转义字符“/”
- MySQL的转义字符“/”
- MySQL的转义字符“/”
- MySQL的转义字符“”
- MySQL的转义字符“/”
- MySql字符转义
- mysql的转义字符
- MySQL的转义字符“\”
- MySql字符转义
- MySQL的转义字符“\”
- mysql 转义字符
- mysql :转义字符
- Mysql字符转义
- MySql字符转义
- mysql转义字符
- 垃圾短信:spam message
- MYSQL出错代码列表大全(中文)
- firefox与ie的javascript兼容性编程汇编
- mysql 快速插入(insert)多条记录
- 普元副总裁刘尔洪专访:程序员怎样找到自己的核心竞争力
- Mysql中的转义字符
- 网页设计问题大搜集(有些细节的问题,很值得学习)
- 针对IE网页浏览器不同版本解释的CSS
- 教你精确编写高质量高性能的MySQL语法
- .NET程序员面试的题一部
- css 滤境的详细介绍
- Mysql数据库引擎快速指南
- STL(标准模板库)中class并不一定是“类”
- 经常熬夜的恐怖后果[熬夜的一定要看看哦]