欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL数据入库时特殊字符处理详解

程序员文章站 2024-02-27 15:45:51
在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“”)开头,称为转义字符。 mysql 识别下列转义字符: 0 一个 ascii 0 (nul) 字符...

在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“”)开头,称为转义字符。 mysql 识别下列转义字符:

0
一个 ascii 0 (nul) 字符。
'
一个 ascii 39 单引号 (“'”) 字符。
"
一个 ascii 34 双引号 (“"”) 字符。

一个 ascii 8 退格符。
一个 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