mysql 字符串特殊字符_转:MySQL数据入库时特殊字符处理
在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“\”)开头,称为转义字符。 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";
+--------------------+
| This
Is
Four
lines |
+--------------------+
如果你想要把二进制数据插入到一个字符类型的字段中(例如BLOB),下列字符必须由转义序列表示:
NUL
ASCII 0,你应该用 “\0”(一个反斜线和一个ASCII “0”字符)表示它。
\
ASCII 92,反斜线。需要用 “\\” 表示。
'
ASCII 39,单引号。需要用 “\'” 表示。
"
ASCII 34,双引号。需要用 “\"” 表示。
你应该在任何可能包含上述特殊字符的字符串中使用转义函数!
另外,很多 MySQL API 提供了一些占位符处理能力,这允许你在查询语句中插入特殊标记,然后在执行查询时对它们绑定数据值。这样,API 会自动为你从数值中转换它们。
ref:http://blog.csdn.net/orafox/archive/2006/10/06/1322853.aspx
posted on 2008-08-22 15:22 Tiger1102 阅读(4262) 评论(0) 编辑 收藏 所属分类: 每日进阶
mysql 字符串特殊字符_转:MySQL数据入库时特殊字符处理相关推荐
- php处理mysql的符号_MySQL数据入库时特殊字符处理
在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 ("/")开头,称为转义字符. MySQL 识别下列转义字符: /0 一个 ASCII 0 (NUL) 字符. / ...
- mysql特殊字符无法入库_MySQL数据入库时特殊字符处理详解
在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 ("")开头,称为转义字符. MySQL 识别下列转义字符: 0 一个 ASCII 0 (NUL) 字符. ' 一 ...
- .net mysql字符串截取_【MySQL】字符串截取之SUBSTRING_INDEX和【MySQL】字符串四则运算...
substring_index(str,delim,count) str:要处理的字符串 delim:分隔符 count:计数 例子:str=www.google.com 1.count是正数,那么就 ...
- mysql 字符串运算_使用MySQL字符串运算实施精巧化SQL注入攻击
我们先来看这样一个场景. 有以下表结构: mysql> desc admin; +----------+--------------+------+-----+---------+------- ...
- MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结
MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...
- mysql 截取字符串部分值,Mysql字符串截取_获取指定字符串中的数据
搜索热词 前言:本人遇到一个需求,需要在MysqL的字段中截取一段字符串中的特定字符,类似于正则表达式的截取,苦于没有合适的方法,百度之后终于找到一个合适的方法:substring_index('ww ...
- JAVA的MySQL字符串拼接_字符串的拼接-MYSQL
SQL允许两个或者多个字段之间进行计算,字符串类型的字段也不例外.比如我们需要以"工号+姓名"的方式在报表中显示一个员工的信息,那么就需要把工号和姓名两个字符串类型的字段拼接计算: ...
- mysql数据库减肥_让MySQL数据库跑的更快 为数据减肥
在数据库优化工作中,使数据尽可能的小,使表在硬盘上占据的空间尽可能的小,这是最常用.也是最有效的手段之一.因为缩小数据,相对来说可以提高硬盘的读写速度,并且在查询过程中小表的内容处理时所占用的系统资源 ...
- 使用mysql 作数据仓库_从MYSQL迁移数据到华为云数据仓库服务经验总结
数据仓库服务(Data Warehouse Service,简称DWS)基于华为FusionInsight LibrA企业级数据仓库内核,提供即开即用.可扩展且完全托管的分析型数据库服务.用户开通数据 ...
最新文章
- linux下性能分析命令[总结]
- C语言-一维数组与指针
- excel如何返回双引号
- 新浪微博数据网络舆情分析客户端软件
- 量子纠缠背后的故事(三):维格纳的朋友 精选
- 2020.2idea怎么创建html项目_陈肆横项目日记:百度百科怎么创建自己的名字
- Linux7安装gi报错,Redhat 7.6安装11G RAC GI时遇到此类报错
- 理解WebKit和Chromium: Canvas2D及其实现
- html5输入框增加语音,为任意输入框添加语音输入功能
- cfree运行程序错误的原因_ARM Cortex-M 系列 MCU错误代码自动追踪库的使用经验分享
- Class的三种构造方法
- Nginx资源合并优化模块nginx-http-concat
- C# 多文件压缩与解压
- 蓝牙sbc怎么解决_从指标看蓝牙A2DP编码(SBC,AAC,APTX)
- git 拉取代码时提示:would clobber existing tag
- DOORS8.0的安装和基本使用
- 实例学习Ansible系列:颜色与设定
- 计算9+99+999+……+999999999
- 1213_SCons初步了解以及安装试用
- 【转】使用cocosbuilder在cocos2d-…