`
wzf7065
  • 浏览: 251200 次
  • 性别: 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

一个退格符。

\ ‘

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

\ ”

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

\\

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

\%

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

\_

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

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

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

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

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

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

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

分享到:
评论

相关推荐

    sql语句中单引号,双引号的处理方法

    此外,不同的数据库管理系统(DBMS)可能有不同的语法要求,例如,MySQL使用`"`而不是`'`来定义字符串,而Oracle支持双引号和单引号,但推荐使用双引号。 总之,理解和正确使用SQL中的单引号和双引号是编写安全、...

    2022年最新PHP技术笔试题.doc

    5. PHP 字符串处理:PHP 中单引号和双引号所包围的字符串有什么区别?答案:AD. 双引号解析其中以$开头的变量,而单引号不解析 知识点:PHP 字符串处理, PHP 的单引号和双引号字符串有不同的解析规则。 6. SQL ...

    PHP面试总结,知识结构大纲

    对于字符串处理,文档强调了单引号和双引号的差异,例如单引号不解析变量,而双引号会解析变量以及转义字符。此外,还提到了`herdoc`和`newdoc`的使用,这是PHP中定义多行字符串的两种方式。 文档中提到了“数据库...

    后端PHP面试题.docx

    - **双引号**:支持转义字符,如`\n`表示换行。 #### 七、PHP中传值与传引用的区别 1. **按值传递**: - 函数内部对变量的任何更改不会影响到函数外部的变量。 - 如果传递的是复杂数据类型(如数组或对象),则...

    2021-2022计算机二级等级考试试题及答案No.18321.docx

    - 这意味着每个字段值会被双引号包围,并通过逗号`,`分隔开。 ### 2. 宏的基本概念 - **宏的定义**: 宏是一种可以通过响应已定义的事件来执行特定操作的自动化工具。 - **宏的功能**: - 可以利用宏打开或执行...

Global site tag (gtag.js) - Google Analytics