Mysql中的小技巧
2024-10-19 19:41:41
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);
最新文章
- JavaScript Object对象
- Qt里获取目录的一个另类方法
- HTML5基础知识(2)--标题标签的使用
- windows+linux开发环境 解决laravel blade模板缓存问题
- node相关--代码共享
- Dev 统计GridControl界面上当前选中的一行的值
- SetWindowsHookEx 相关
- Xcode 的正确打开方式——Debugging
- C与C++
- css selection改变文字反选的背景颜色
- JSON 和 JSONP 两兄弟
- C# 截取字符串某个字符分割的最后一部分
- 1708: [Usaco2007 Oct]Money奶牛的硬币
- Mybatis学习(二)————— 全局配置文件详解
- spring-session+Redis实现Session共享
- 命令行找不到genstrings问题tip
- php,判断ajax,get,post
- [iOS] 列表滑动展开隐藏头部HeaderView
- 40道Java基础常见面试题及详细答案
- IO流(三)其他流与File类
热门文章
- 群晖下虚拟机编译部署WOW服务端TrinityCore
- brup去除mozilla等无用数据包的方法
- 2021.11.10 [POI2000]病毒(AC自动机)
- SpringBoot 三层架构 Controller、Service、Dao作用和关系详解
- 利用QEMU+GDB搭建Linux内核调试环境
- 『现学现忘』Git对象 — 16、Tree对象详解
- Java汽车租赁系统[源码+数据库]
- vue - git
- react实战系列 —— 我的仪表盘(bizcharts、antd、moment)
- Hadoop(四)C#连接Hive