mysql数据库怎么退格_mysql中单双引号的非一般使用 以及mysql常见的转移字符

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

mysql中单双引号使用

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

SELECT book_id FROM pd WHERE isbn='9787542739810' and book_name='"祛魅"与"返魅"';

欢迎大家阅读《mysql中单双引号的非一般使用 以及mysql常见的转移字符》,跪求各位点评,by 搞代码

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

SELECT book_id FROM pd WHERE isbn='9787542739810' and book_name='LET'S GO!马小波罗';

执行该语句:

引用

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

到这,大家可能会说,你把'LET'S GO!马小波罗' 中外围的两个单引号换成双引号不就搞定了。可现实往往是按照墨菲定律向着最坏的情况发展。很多情况下,我们都不知道传入的增、删、改、查的字符串中,是否含有",',或者是两者同时含有,所以不能简单的遇到单引号替换成双引号,遇到双引号替换成单引号。这就需要用到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

一个退格符。

/ '

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

/ "

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

//

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

/%

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

/_

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

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

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

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

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

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

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

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值