MySQL模糊查询详解:LIKE语句通配符使用指南
创作时间:
作者:
@小白创作中心
MySQL模糊查询详解:LIKE语句通配符使用指南
引用
CSDN
1.
https://m.blog.csdn.net/2401_87254793/article/details/142433464
本文将探讨在MySQL数据库中使用LIKE语句进行模糊查询时遇到的问题及解决方案,包括普通SQL查询中通配符的使用、LIKE语句的正确使用方法,以及在MyBatis框架中的应用。
一、问题分析
1.1 普通SQL查询语句
首先,我们来看一个普通的SQL查询语句:
String sql = "select count(*) from tab_route where cid = ?";
说明:我们直接使用通配符?来代替参数,使用Spring框架的JdbcTemplate执行增删改查操作。在这里是没有任何问题的。
1.2 普通SQL查询语句的注意事项
如果在使用通配符时遇到问题,请检查以下几点:
- 确保通配符
?是在英文输入法下输入,避免使用中文问号。 - 传递的参数不需要加引号,例如下面的写法是错误的:
String sql = "select count(*) from tab_route where cid = '?'";
1.3 使用LIKE通配符进行模糊查询
接下来,我们分析一个使用LIKE语句进行模糊查询时出错的案例:
String sql = "select count(*) from tab_route where rname like '%?%'";
执行结果报错:
Parameter index out of range (1 > number of parameters, which is 0)
结果分析:查到结果数据为1,真实值应为0,参数越界,产生错误。
我们明确如下语句是没有任何问题的:
String sql = select * from tab_route where rname like '%张%';
这表明问题出在LIKE语句中通配符?的处理上。
二、LIKE语句使用通配符模糊查询的解决方案
2.1 LIKE语句的应用场景
使用LIKE通配符进行模糊查询在项目中很常见,比如在搜索框中对数据进行模糊查询。
2.2 模糊查询的正确处理方式
在SQL语句中无法直接解析'%?%',因此需要使用concat()函数对字符串进行动态拼接:
concat(str1, str2, str3...) // 会生成一个新的字符串
2.3 正确的SQL语句
正确的写法应该是:
String sql = "select count(*) from tab_route where rname like concat('%', ?, '%')";
三、MyBatis中的LIKE模糊查询
在MyBatis中使用LIKE语句进行模糊查询时,需要注意以下几点:
- 查询子句中使用
#{str}关键字:
select * from table where name like concat('%', #{name}, '%');
- 如果需要添加排序字段,使用
${str}关键字:
select * from table where name like concat('%', #{name}, '%') order by ${id};
总结
本文详细分析了在使用LIKE语句进行模糊查询时可能遇到的问题,并提供了具体的解决方案。同时,还补充了在MyBatis框架中使用LIKE语句的注意事项。这些内容对于数据库开发人员具有很高的参考价值。
热门推荐
基坑工程和模板工程的安全监理要点
量子计算机小说有哪些推荐?
2024日韩大势男团盘点!BTS防弹少年团入伍,新世代抢上位
瓜蒌的三个最佳搭配
“0”到底是什么?是什么也没有的意思吗?混沌?归墟?空,虚无
怎么搭班子定战略带队伍?
nomic-embed-text-v1.5:开源文本嵌入模型的新突破
《小刺猬阿奈家的24小时》:一本读懂孩子情绪的暖心绘本
《解密儿童行为》:一本读懂孩子内心的育儿指南
王晓霆:孩子行为背后的“求关注”真相
共情陪伴五步法:让孩子更自信
Excel序号自动递增:六种方法轻松实现连续数字填充
Excel键盘填充单元格的多种方法
Excel自动填充功能完全指南:从基础到高级应用
Excel快速批量填表的7种方法
谁在为AI课程付费?“你拿这个事当救命稻草,这是一个问题”
妙不可言的无锡夏季农家美味
一碗什锦汤烩面:港商黄大发与无锡老式面的百年情缘
《光与夜之恋》齐司礼偏执爱引发网络热议:从角色塑造到情感共鸣
夫妻为何不能相互称呼“名字”?过来人告诉你3个原因
哈佛研究揭示:父亲参与如何塑造女儿的未来
父女关系新趋势:亲密又独立
父女相处的那些隐形界限,你了解吗?
《战锤40K星际战士2》新手入门指南:职业兵种详解
高效工程监理的五大秘诀
工程监理企业如何破解经营风险困局?
行运星盘里的恋爱密码:如何预测你的桃花运?
行为树模式(BT)和有限状态机模式(FSM)
游戏AI的主要实现方式
恋爱沟通小妙招:让对方对你欲罢不能!