`
wzf7065
  • 浏览: 246204 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

mysql中单双引号的特殊使用以及mysql常见的转义字符(转)

 
阅读更多

mysql中单双引号的特殊使用以及mysql常见的转义字符

mysql中使用基本的DML类型的sql语句, “”和‘’ 是default string label symbols. 但是在实际情况中,经常出现下面的情况:

SELECT book_id FROM pd WHERE isbn='9787542739810' and book_name='"HBase实战"与"Storm实战"';

这种情况下,book_name对应的字符串是没有问题的,sql语句没有语法问题。但是看下面一条语句:

SELECT book_id FROM pd WHERE isbn='9787542739810' and book_name='HBase企业应用开发实战';

执行该语句:

报异常:You have an error in your SQL syntax;

到这,大家可能会说,你把’HBase企业应用开发实战’ 中外围的两个单引号换成双引号不就搞定了。可现实往往是按照墨菲定律向着最坏的情况发展。很多情况下,我们都不知道传入的增、删、改、查的字符串中,是否含有”,’,或者是两者同时含有,所以不能简单的遇到单引号替换成双引号,遇到双引号替换成单引号。这就需要用到sql的转义字符了。

\ ‘

一个单引号(“ ‘”)符。

\ ”

一个双引号(“ “”)符。

\\

一个反斜线(“\”)符。

下面是转义用的java代码,仅供参考:

String str = "askdjf;lskdjf'asdf\"asdfasdf";
System.out.println(str);
if (str.indexOf("'") >= 0)
str = str.replaceAll("'", "\\\\'");
if (str.indexOf("\"") >= 0)
str = str.replaceAll("\"", "\\\\\"");
System.out.println(str);

mysql转义字符:

\0

一个ASCII 0 (NUL)字符。

\n

一个新行符。

\t

一个定位符。

\r

一个回车符。

\b

一个退格符。

\ ‘

一个单引号(“ ‘”)符。

\ ”

一个双引号(“ “”)符。

\\

一个反斜线(“\”)符。

\%

一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。

\_

一个“_”符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。

注意,如果你在某些正文环境中使用“\%”或“\%_”,这些将返回字符串“\%”和“\_”而不是“%”和“_”。

有几种方法在一个字符串内包括引号:

一个字符串内用“ ‘”加引号的“ ‘”可以被写作为“ ‘ ‘”。

一个字符串内用“ “”加引号的“ “”可以被写作为“ ” “”。

你可以把一个转义字符(“\”)放在引号前面。

一个字符串内用“ “”加引号的“ ‘”不需要特殊对待而且不必被重复或转义。同理,一个字符串内用“ ‘”加引号的与“ “”也不需要特殊对待。

分享到:
评论

相关推荐

    linux系统中单引号和双引号的区别

    除了单引号和双引号之外,还可以使用转义字符 `\` 来保护某些特殊字符不被shell解析。例如,如果你想在命令行中输入一个实际的美元符号 `$` 而不是作为变量前缀,可以使用转义字符: ```bash $ echo \$var $var ```...

    简单概括PHP的字符串中单引号与双引号的区别

    - 如果字符串中不包含变量且不需要特殊的转义序列,通常推荐使用单引号,以提高性能和代码的简洁性。 - 当需要插入变量或处理转义序列时,应使用双引号,这样可以简化代码并增强可读性。 理解这些基本规则对于...

    分析PHP中单双引号的误区和双引号小隐患

    当字符串中包含特殊字符或需要转义字符时,使用双引号可以简化编码。比如,以下两个例子: ```php echo "He said, \"Hello!\""; // 输出 "He said, "Hello!"" echo 'He said, \"Hello!\"'; // 需要转义,输出 "He ...

    再谈PHP中单双引号的区别详解

    在PHP编程语言中,单引号(' ')和双引号(" ")用于定义字符串,但它们之间存在显著的差异。理解这些差异对于编写高效且无误的代码至关重要。...而在需要变量替换或包含特殊转义序列时,使用双引号更为方便。

    浅谈oracle中单引号转义

    ORACLE 单引号转义: 在ORACLE中,单引号有两个作用:   1:字符串是由单引号引用   2:转义。  单引号的使用是就近配对,即就近原则。而在单引号充当转义角色时相对不好理解  1.从第二个单引号开始被视为...

    SQL Server中单引号的两种处理技巧

    总结,处理SQL Server中单引号问题的关键在于理解转义字符的概念以及如何利用参数化查询的优势。在实际编程中,推荐使用参数化查询,以提高性能和安全性。同时,为了防止SQL注入攻击,应避免直接在SQL语句中拼接用户...

    SQL中存储过程中SQL语句的单引号和双引号问题[总结].pdf

    在 ASP 中,我们通常使用双引号来表示字符串的界限,如以下示例所示: strSql="Insert Into users(username) values('小王 ')" 在上面的示例中,双引号用来表示字符串的界限,而单引号则用来表示文本型字段值小王...

    PHP中单引号与双引号的区别分析

    5. 当需要在字符串中插入换行符或其他特殊字符时,可能需要使用双引号。 总之,理解并灵活运用PHP中单引号和双引号的差异,可以帮助我们写出更加高效、易读的代码。在不需要解析变量或特殊字符时,优先选择单引号;...

    浅谈PHP中单引号和双引号到底有啥区别呢?

    在PHP编程语言中,字符串的定义可以使用英文单引号(')或英文双引号(")来完成。...在需要处理字符串内变量或特殊字符时,使用双引号或模板字符串。通过合理利用这些特性,可以编写出更高效、更易维护的代码。

    单引号与双引号在不同语言中的区别(C语言,Python语言,Matlab语言)

    从 R2017a 开始,您可以使用双引号创建字符串。 注: 什么是字符和字符串? 举个例子。 在C语言中,’a’是字符,可以 ‘a’+1,结果是‘b’。 ‘a’和”a”的区别: C规定以字符’\0’作为字符串结束标志,’\0’...

    php单引号和双引号的区别

    字符串可以由单引号('')或双引号(" ")包围,但它们之间存在关键性的区别,这些差异主要体现在变量解析、转义序列处理以及多行字符串定义上。 ### 变量解析 **双引号(" ")**: 当使用双引号包围字符串时,PHP会解析...

    php 防止单引号,双引号在接受页面转义

    // 使用双引号包围整个字符串,单引号内 ``` 总之,理解PHP中单引号和双引号的差异对于编写高效且无误的代码至关重要。在实际开发中,根据需要选择合适的引号类型,同时确保正确处理用户输入,以防止潜在的安全...

    python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算

    - **双引号**:`"` 使用双引号创建字符串的方法与单引号类似,当字符串中包含双引号时,同样可以使用转义字符 `\` 来解决潜在的问题。例如: ```python print("He said, \"Hello, world!\"") ``` #### 三、三...

    python里的单引号和双引号的有什么作用

    例如,如果你的字符串内容中包含单引号,使用双引号来定义字符串会更方便,反之亦然。这样可以避免在字符串内部使用转义字符 `\` 来保持引号的平衡。例如: ```python my_str1 = 'I\'m a student' # 使用单引号,...

    js中单引号与双引号冲突问题解决方法

    解决JavaScript中单引号与双引号冲突的常见方法有几种,下面将逐一介绍。 1. 转义引号 在JavaScript字符串中,可以通过反斜杠(\)来转义引号,使得引号成为字符串的一部分,而不是字符串的结束标志。例如: ```...

    php下防止单引号,双引号在接受页面转义的设置方法

    反之,如果字符串中包含变量或需要转义的字符,使用双引号更为方便。 总之,防止PHP页面中引号被转义的关键在于理解和正确使用`magic_quotes_gpc`配置,以及在必要时使用`stripcslashes()`函数。同时,掌握单引号和...

    jquery 单引号和双引号的区别及使用注意

    - 虽然JavaScript允许混合使用单引号和双引号,但为了代码的一致性和可读性,最好遵循一种统一的规则,比如只使用单引号或只使用双引号,除非必须进行嵌套。 总结来说,jQuery中单引号和双引号的区别主要体现在...

Global site tag (gtag.js) - Google Analytics