反斜杠转义mysql java_mysql数据库中的反斜杠”\“怎么使用Java进行转义
mysql数据库中的反斜杠”\“怎么使用Java进行转义
发布时间:2020-11-24 15:15:12
来源:亿速云
阅读:88
作者:Leah
这期内容当中小编将会给大家带来有关mysql数据库中的反斜杠”\“怎么使用Java进行转义,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
前言
在java中,反斜杠“\”转义是“\”,因此表示一个“\”要使用“\\”,如果是正则表达式,那么表示一个“\”需要用“\\\\”,在mysql中,反斜杠转义依然是“\”,和java相同。
现在问题是:如果mysql中一个字段的内容包含反斜杠,然后通过java连接mysql去筛选这个字段所在的条目,要怎么写才能将该字段筛选出来呢?下面就是一个实验:
1,先建立测试数据:
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
);
insert into test (name) values ('\\'), ('\\\\');
向数据库中插入2条数据,name的值分别是“\”和“\\”。
2,使用jdbc连接mysql,然后测试筛选条件:
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
PreparedStatement pstmt = conn.prepareStatement("select * from test where *条件"); // “*条件”见下文
pstmt.setString(1, "*筛选值"); // “*筛选值”见下文
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("name"));
}
3,测试:
i.
*条件 为:name = ?
*筛选值 为:
“\\”可以筛选出name为“\”的数据
“\\\\”可以筛选出name为“\\”的数据
这个看起来是比较正常的
ii.
*条件 为:name like ?
*筛选值 为:
“\\”或“”\\\\可以筛选出name为“\”的数据
“\\\\\\”或“\\\\\\\\”可以筛选出name为“\\”的数据
开始不变得奇怪了…
iii.
*条件 为:name like ‘%' ?
*筛选值 为:
“\\”或“\\\\”可以筛选出name为“\”和“\\”的数据
“\\\\\\”或“\\\\\\\\”可以筛选出name为“\\”的数据
和 ii. 有点类似
iv.
*条件 为:name like ? ‘%'
*筛选值 为:
“\\\\”可以筛选出name为“\”和“\\”的数据
“\\\\\\\\”可以筛选出name为“\\”的数据
又变得好像正常了…类似正则中的转义
v.
*条件 为:name like ‘%' ? ‘%'
*筛选值 为:
“\\\\”可以筛选出name为“\”和“\\”的数据
“\\\\\\\\”可以筛选出name为“\\”的数据
和 iv. 类似了
4,分析:
使用“=”方式筛选貌似就是常规理解中的转义,但是一旦使用了“like”就开始变得奇怪了,从测试来看,使用“like”筛选有些类似正则式,不过没有使用“%”占位符的筛选中常规转义依然有效,另外,奇怪的是 ii. 和 iii. 中的6根反斜杠是个什么鬼…完全不能理解…
5,结论:
sql语句是“=”筛选时,java就使用常规转义即可
sql语句是“like”筛选时,最好使用正则式转义
上述就是小编为大家分享的mysql数据库中的反斜杠”\“怎么使用Java进行转义了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
反斜杠转义mysql java_mysql数据库中的反斜杠”\“怎么使用Java进行转义相关推荐
- MariaDB/MySQL从数据库中选择随机的行
MariaDB/MySQL从数据库中选择随机的行 一个比较传统的做法是使用sql自带的rand函数,从而达到随机排序的目的. SELECT column FROM table ORDER BY RAN ...
- oracle sql为null值,在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办
在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacem ...
- 自定义tt文本模板实现MySql指数据库中生成实体类
自定义tt文本模板实现MySql指数据库中生成实体类 1.在项目中依次点击"添加"/"新建项",选择"文本模板",输入名称后点击添加. 2. ...
- MySql 查询数据库中所有表名
MySql 查询数据库中所有表名 查询数据库中所有表名 select table_name from information_schema.tables where table_schema='csd ...
- mysql 获取数据库中最大的日期
mysql 获取数据库中最大的日期 select DATE_FORMAT(max(over_time),'%Y-%m-%d') from 表名格式化参考 %a 缩写星期名 %b 缩写月名 %c 月,数 ...
- mysql选择排序规则_关于mysql创建数据库中字符集和排序规则的选择
1:字符集: 一般 主要选择两种: 1:utf8 (看unicode编码区从1 - 126就属于传统utf8区,),一般都够用,除非需要存储特殊字符 2:utf8mb4(utf8mb4兼容utf8 ...
- x509mysql_涂抹mysql笔记-数据库中的权限体系
涂抹mysql笔记-数据库中的权限体系 <>能不能连接,主机名是否匹配.登陆使用的用户名和密码是否正确. mysql验证用户需要检查3项值:用户名.密码和主机来源(user.passwor ...
- ACMNO.27 Python的两行代码解决 C语言-字符逆序 写一函数。使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。 输入 一行字符 输出 逆序后的字符串
题目描述 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串. 输入 一行字符 输出 逆序后的字符串 样例输入 123456abcdef 样例输出 fedcba654321 来源 ...
- 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。
题目描述 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串. 输入 一行字符 输出 逆序后的字符串 样例输入 123456abcdef 样例输出 fedcba654321 #i ...
最新文章
- 超强激光SLAM LIO-SAM!高精度机器人定位建图!
- java读取配置文件的几种方法
- 如何删除Android上ListViews之间的行?
- 依赖注入(DI)和Ninject,Ninject
- Asp.net上传文件限制,在大于5M的时候出现DNS解析错误,解决方法。
- Angular 不同种类 Module 的介绍
- 使用 jQuery Mobile 与 HTML5 开发 Web App (八) —— jQuery Mobile 工具栏
- html5 input min,HTML Input Time min用法及代码示例
- Remove_if 删除vector数据
- 21_在线支付原理与实现
- linux系统能运行iis吗,Linux 下可以安装 IIS 吗
- 虚拟机文件上传至dsm服务器,没NAS也能体验群晖:VMware虚拟机安装DSM详细安装步骤...
- wps xml转换表格_PDF转换神器安装步骤
- linux应用项目(一)数码相框(2)数码相框之字符编码与字符的点阵显示
- [tensorflow] 多维矩阵的乘法
- 【CC2530入门教程-05】CC2530的串行接口原理与应用
- FaceBook 遭遇有史以来全球最大宕机
- python eml解析_使用 python eml-parser 对 eml文件进行格式化
- python中from import_Python中的import和from import
- 轻量型网络之MobileNetV2: Inverted Residuals and Linear Bottlenecks论文学习
热门文章
- 用python做频数分析_使用Python进行描述性统计
- xss挖掘思路分享_新手指南 | permeate靶场漏洞挖掘思路分享
- weblogic内存修改linux,weblogic10.3.5 内存修改详解
- mysql8添加索引_MySQL8.0新特性-新的索引方式
- 空投坐标怎么看6_嗦粉不咯?桂林米粉店将分三四五星级,你怎么看? 旅行 6 月 4 日热点速递...
- mysql入门到跑路_Mysql入门二十小题(DBA老司机带你删库到跑路)2018.11.26
- oracle 11gr2 asm安装,OEL6.1下oracle 11gr2 ASM安装
- java二重循环计数_java的二重循环代码样例
- ARIMA模型的建模和预测
- matlab出现红色括号,想让大家看下标红地方为什么说有括号问题