logo 广告
Loading...
 导航 所在位置:论坛首页 -> ┈┋电脑网络┋┈ -> 数据库技术 -> Mysql中的转义字符
回复
标题:Mysql中的转义字符收藏 编辑 删除 楼主 | 上一篇 下一篇
黑黑
头像
等级:职业侠客
权限:普通用户
积分:73
金钱:322
声望:108
经验:108
发帖数:134
注册:2008年4月25日
资料 短消息2008-9-15 11:45:19

字符串是多个字符组成的一个字符序列,由单引号(“'”) 或双引号 (“"”) 字符包围。(但在 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";
+--------------------+
| This
Is
Four
lines |
+--------------------+


如果你想要把二进制数据插入到一个字符类型的字段中(例如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 会自动为你从数值中转换它们

签名

2008-9-15 11:45:19 顶部
yanlovemin
头像
等级:社区游民
权限:普通用户
积分:0
金钱:60
声望:10
经验:10
发帖数:10
注册:2008年9月15日
  资料  消息 短消息编辑 删除 引用 第2楼

日收入500元的最新项目:

专为网赚新手设计,保证您的收入赚不到我们双倍退款 (该项目属于软件产生收入,和传销没有任何联系) (信誉保证)简易网上赚钱项目每天操作1小时,日收入500保底!软件流程式操作没有任何难度!每天操作1小时赢利在500以上!稍微懂上网的人就可以操作该项目 , 而且不涉及任何专业计算机知识 ! 无论是网上通过 QQ 或者 Email 传资料自己学习, 都可以在 1 小时之内初步学会上手操作。 操作一遍后就可熟练 , 以后直接赚取广告收入或者联盟收入了。不受限制,多人操作互不影响各自收入。因为是广告或者联盟独霸不了无穷的网络市场,不用和任何客户交谈!您要做的就是每天操作1小时!或者你不想当天结算钱几天操作一次也可以!但是为了您的更多收益,最好每天用1小时或者半小时查看一下您的收益 聪明的人是用头脑挣钱。非聪明的人是用体力挣钱。(我们是用技术赚钱)

加盟就能分钱,当日支付从不拖欠!日结工资!团队一起操作!

生命在于搏击!如果你永远不敢迈出第一步,那你永远都会输在起点;如果你看不起每天赚的几元钱,我敢说你也不会是一个成功的人!

行动吧:宁愿做过再后悔,也不要后悔没做过!!

宁可做过后悔,不要后悔不做哟~~

想长期做本项目的加本群交流指导:68449377(非诚勿扰)

推荐给大家一个广告联盟全免费电影网址:<http://www.yingzhiai.cn/> 

联系QQ304546475



签名
2008-9-15 13:07:50 顶部
第1页 共1页 共1个回复     <<    >>    
 快速回复
  • 支持UBB,HTML标签

  • 高级回复

  • 操作选项:评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖
      首页 | 购买指南 | 虚拟主机 | 特色介绍 | 下载中心 | 支付方式
    Copyright 2004-2008 BBSGood.com Powered By: BBSGood.Speed Version 5.0
      咨询电话:0575-85513832、0575-85513825(传真)、7*24小时咨询服务:13606552007 不良信息举报中心 浙ICP备05029817号
      业务QQ:38958768、客服QQ1:415896239、客服QQ2:343896043、MSN:jccsxx@hotmail.com