MySQL数据入库时特殊字符处理
来源:互联网 发布:博时银联大数据 编辑:程序博客网 时间:2024/06/06 13:07
在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“/”)开头,称为转义字符。 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 “%” 字符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。
/_
一个 ASCII 95 “_” 字符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。
注意如果在某些正文环境内使用 “/%” 或 “/_”,将返回字符串 “/%” 和 “/_” 而不是 “%” 和 “_”。
字符串中包含引号的可以有下列几种写法:
一个字符串用单引号“'”来引用的,该字符串中的单引号“'”字符可以用“''”方式转义。
一个字符串用双引号“"”来引用的,该字符串中的“"”字符可以用“""”方式转义。
你也可以继续使用在引号前加一个转义字符“/”来转义的方式。
一个字符串用双引号“"”来引用的,该字符串中的单引号“'”不需要特殊对待而且不必被重复或转义。同理,一个字符串用单引号“'”来引用的,该字符串中的双引号“"”不需要特殊对待而且不必被重复或转义。
下面显示的 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,双引号。需要用 “/"” 表示。
你应该在任何可能包含上述特殊字符的字符串中使用转义函数!
另外,很多 MySQL API 提供了一些占位符处理能力,这允许你在查询语句中插入特殊标记,然后在执行查询时对它们绑定数据值。这样,API 会自动为你从数值中转换它们。
- MySQL数据入库时特殊字符处理
- MySQL数据入库时特殊字符处理
- MySQL数据入库时特殊字符处理
- MySQL数据入库时特殊字符处理
- 文本入库特殊字符处理, 防止SQL注入
- mysql 特殊字符的处理
- mysql 中的特殊字符处理
- mysql 特殊字符 查询 处理
- JSON数据入库时转义字符丢失
- oracle 导入数据时对 & 和 ' 特殊字符处理
- 插入数据时含特殊字符的处理
- mysql sql语句中的特殊字符处理
- java程序:mysql特殊字符处理
- MySql 模糊查询特殊字符处理
- mysql 入库数据乱码
- 数据验证之特殊字符处理
- 数据验证之特殊字符处理
- JSON中数据特殊字符的处理
- 语言环境设置命令locale 命令(linux,对应于window 7(win叫什么命令?)控制面板->区域和语言里的设置)
- Tomcat部署
- OCP-1Z0-053-V12.02-513题
- 1000以内偶数和.1
- d第十周上机实践----------1+2+3+4++++++++1000
- MySQL数据入库时特殊字符处理
- 关于发送多条notifications所遇到的一些问题 2
- C++ 虚函数
- pip 的相关记录
- 利用JavaScript绕过表单限制及验证
- C++在多层继承中调用虚函数
- 临界区,互斥量,信号量,事件的区别
- 让ScrollViewer支持鼠标滚轮效果
- cocos2d-x屏幕适配