博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#中转义符总结
阅读量:6914 次
发布时间:2019-06-27

本文共 1782 字,大约阅读时间需要 5 分钟。

在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“\”)开头,称为转义字符。
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,双引号。需要用 “\"” 表示。 
如果你写 C 代码,你可以使用 C API 函数mysql_real_escape_string() 来为 INSERT 语句转义字符。在 Perl 中,你可以使用 DBI 包中的 quote 方法来将这些特殊字符转换成适当的转义序列。 
你应该在任何可能包含上述特殊字符的字符串中使用转义函数! 
另外,很多 MySQL API 提供了一些占位符处理能力,这允许你在查询语句中插入特殊标记,然后在执行查询时对它们绑定数据值。这样,API 会自动为你从数值中转换它们。

 
 
 
 

 

转载地址:http://adicl.baihongyu.com/

你可能感兴趣的文章
OSSIM服务器OSSEC添加客户端
查看>>
数据结构之红黑树
查看>>
IXWebHosting美国主机优惠码:购年付虚拟主机享九折优惠
查看>>
ansible+ssh自动化运维
查看>>
bash编程:Shell练习题
查看>>
《构建高性能web站点》读书笔记
查看>>
text-overflow:ellipsis溢出文本显示省略号
查看>>
Centos7搭建Docker私有仓库
查看>>
c++ 排序集合
查看>>
2012年2月份最受欢迎美国虚拟主机提供商TOP5
查看>>
×××及其配置实例
查看>>
判断用户是否存在
查看>>
代理模式
查看>>
通用二进制安装MySQL(MariaDB)
查看>>
Hibernate+Spring+Struts2整合开发中的一个分页显示方案
查看>>
Linux配置手册(四)Linux 下vsftp的搭建与各种配置
查看>>
我的友情链接
查看>>
为什么要使用NoSQL
查看>>
JVM中锁优化简介
查看>>
PHP句法规则详解
查看>>