Mysql中的小技巧
1.where 字段名 regexp '正则表达式'
正则符号: ^ $ . [ ] * |
. 表示1个任意字符
* 表示前面重复0次,或者任意次
^ 开始
$ 结尾
[] 范围
| 或
sql示例:
#查询以【李】开头的
select name from user where name regexp '^李';
#查询以【小】结尾的
select name from user where name regexp '小$';
#查询以【李】开头,中间任意,结尾以【四】的
select name from user where name regexp '^李.*四$';
#查询名字以【李】开头,或者以【小】结尾的
select name from user where name regexp '^李|小$';
2. instr、concat搜索和连接字符串
数据字段中存放的是id集,形如 1,2,15,35 也可类推json格式
查询时不用拆分了, 用上 instr、concat搜索和连接字符串
查询ids中包含15的
sql示例:
select * from [table-表名] where instr(concat(',', ids, ','), ',15,') > 0
3.查询时,多个字段 like 同个值
like多个值 and和的关系
like多个值 or的关系 可用regexp
sql示例:
select * from user where name regexp '张三|李四'
4.查询结果过滤
having用法:
SQL查询 having 条件表达式;就是在查询结果中再查询一次
sql示例:
select name from user where name !="李四" having name="李小小";
5.mysql内置对数据进行统计的指令
聚焦函数:
avg(字段名)
sum(字段名)
min(字段名)
max(字段名)
count(字段名)
sql示例:
##查询名字不等于李四的人员的平均分数
select avg(score) from user where name != "李四";
##查询最高分数
select max(score) from user;
##查询最低分数
select min(score) from user;
##查询总分数
select sum(score) from user;
##统计user表中的行数
select count(*) from user;
6.mybatis中mapper.xml where下foreach写法
A写法:
<where>
ID in
<foreach close=")" collection="array" item="ids" open="(" separator=",">
'${ids}'
</foreach>
</where>
B写法:
<where>
<if test="ids!= null and ids.size() > 0">
and id in
<foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<where>
6.批量删除的写法
mybatis中mapper.xml
<delete id="deleteByIds">
delete from notice_announcement
<where>
ID in
<foreach close=")" collection="array" item="ids" open="(" separator=",">
'${ids}'
</foreach>
</where>
</delete>
mapper接口
int deleteByIds(String[] ids);
Mysql中的小技巧的更多相关文章
- 10个提升MySQL性能的小技巧
从工作量分析到索引的三条规则,这些专家见解肯定会让您的MySQL服务器尖叫. 在所有的关系数据库中,MySQL已经被证明了完全是一头野兽,只要通知停止运行就绝对不会让你多等一秒钟,使你的应用置于困境之 ...
- 杂谈---小故事小道理,面试中的小技巧(NO.2)
本篇是接着上一篇面试随笔的,上一次有猿友反应写的有些“扯淡”,LZ思来想去最大的原因可能是由于上一章写的全是一些大忌,既然是大忌,那么在现实当中发生的概率还是相对较小的,大部分人还是很少在面试中犯如此 ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
- lua学习笔记11:lua中的小技巧
lua中的小技巧,即基础lua语言本身的特种,进行一个些简化的操作 一. 巧用or x = x or v 等价于: if not x then x = v end 假设x为nil或false,就给他赋 ...
- Mysql 调优小技巧
MySQL是一个功能强大的开源数据库.随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限.这里是101条调节和优化MySQL安装的技巧.一些技巧是针对特定的安装环境的,但这些思 ...
- iOS开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
- iOS中TableView小技巧
摘要: TableView是ios开发中经经常使用到的控件,这里统一记录一下开发中遇到的经常使用小技巧,不断探索更新.也希望大家能够告诉我很多其它经常使用的小技巧啦~一起进步 1.去除多余的列表线条 ...
- 告诉你38个MySQL数据库的小技巧
无论是运维.开发.测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库.学MySQL,到底是要学习它的哪些东西呢? 1.如何快速掌握MySQL? 培养兴趣 兴趣是最好的老师,不论学习 ...
- iOS - 开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
随机推荐
- XCTF练习题---MISC---stage1
XCTF练习题---MISC---stage1 flag:AlphaLab 解题步骤: 1.观察题目,下载附件 2.打开附件后发现是一张图片,初步判断是图片隐写,上Stegsolve进行转换,得到一张 ...
- XCTF练习题---MISC---神奇的Modbus
XCTF练习题---MISC---神奇的Modbus flag:sctf{Easy_Modbus} 解题步骤: 1.观察题目,下载附件 2.打开下载文件,发现可以用WireShark打开,打开看看是啥 ...
- FreeRTOS --(8)任务管理之创建任务
转载自https://blog.csdn.net/zhoutaopower/article/details/107034995 在<FreeRTOS --(7)任务管理之入门篇>文章基本分 ...
- ucore lab1 操作系统启动过程 学习笔记
开头赞美THU给我们提供了这么棒的资源.难是真的难,好也是真的好.这种广查资料,反复推敲,反复思考从通电后第一条代码搞起来理顺一个操作系统源码的感觉是真的爽. 1. 操作系统镜像文件ucore.img ...
- 扩展.Net Core Identity Server 授权方式,实现 手机号+ 验证码 登录
背景 国内来讲,注册/登录流程都是尽可能的简单,注册流程复杂,容易流失客户.手机号 + 短信验证码的方式非常普遍:但是框架默认并没有类似的功能,需要我们自己进行扩展. 思路 验证登录手机号为注册用户, ...
- 手脱NsPacK壳
1.查壳 使用PEiD未能检测到壳信息,这时,我们更换其他工具 从图中可以看到壳的信息为[NsPacK(3.x)[-]] 2.百度壳信息 北斗程序压缩(Nspack)是一款压缩壳.主要的选项是:压缩资 ...
- .NET混合开发解决方案14 WebView2的基本身份验证
系列目录 [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...
- spring boot rest controller 自定义反序列化 Date 格式
@JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN) private Date time;
- Spring是如何整合JUnit的?JUnit源码关联延伸阅读
上一篇我们回答了之前在梳理流程时遇到的一些问题,并思考了为什么要这么设计. 本篇是<如何高效阅读源码>专题的第十二篇,通过项目之间的联系来进行扩展阅读,通过项目与项目之间的联系更好的理解项 ...
- Mock 之搭建本地 MockJs
Mock 之搭建本地 MockJs 一.目的 模拟后端接口 二.发请求 1. install npm install axios 2. 配置 src/utils/request.js import a ...