MySQL常见操作

编程入门 行业动态 更新时间:2024-10-22 19:29:15

MySQL<a href=https://www.elefans.com/category/jswz/34/1770088.html style=常见操作"/>

MySQL常见操作

下面是工作时遇到的一些MySQL的操作,特意记录下来。给他大家参考使用

查询操作

查询生日

本周过生日

SELECT * FROM student
WHERE WEEK(CONCAT(YEAR(CURDATE()),"-" ,MID(sage,6,5))) = WEEK(NOW())
# 1、选取原生日里的月日成分(按照字符串进行处理)
# >>> MID(sage,6,5)
# 2、将选取的月日成分与今年的年份相接
# >>> CONCAT(YEAR(CURDATE()),"-" ,MID(sage,6,5))

本月过生日

SELECT * FROM student AS s
WHERE MONTH(CONCAT(YEAR(CURDATE()),"-",MID(s.sage,6,5))) = MONTH(CURDATE())
# 改用 month函数,查询下月过生日则+1

下周过生日

SELECT * FROM student AS s
WHERE WEEK(CONCAT(YEAR(CURDATE()),"-",MID(s.sage,6,5))) = WEEK(CURDATE())+1

计算年龄

SELECT ROUND(DATEDIFF(CURDATE(), birthday)/365.2422) FROM sys_user
TIMESTAMPDIFF(YEAR, birthday, CURDATE()) as age

递归查询

递归查询 包含自己在内

WITH RECURSIVE cte AS (SELECT id,parent_id FROM tea_grid WHERE id = '111'UNION ALLSELECT tg.id,tg.parent_id FROM tea_grid tg, cte WHERE tg.parent_id = cte.id
) SELECT id FROM cte;

递归查询 不包含自己在内

WITH RECURSIVE cte AS (SELECT id,parent_id FROM tea_grid WHERE id = '111'UNION ALLSELECT tg.id,tg.parent_id FROM tea_grid tg, cte WHERE tg.parent_id = cte.id
) SELECT id FROM cte where cte.id!='111';

根据某个字段查询重复数据记录

SELECT house_name,COUNT(house_name)
FROM tea_house
GROUP BY house_name
HAVING COUNT(house_name) > 1

根据地点打卡记录并排序地点

select *,( SELECT count( scenic_id ) FROM spot_punch_card as spc WHERE spc.is_deleted = 0 and spc.scenic_id = ls.id ) AS num  
from landscape_scenic as ls
where is_deleted = 0
ORDER BY num DESC

计算统计数–需要用到提供的sys_date表

获取日期统计数

SELECTt1.*,ifnull( t2.count, 0 ) count 
FROM( SELECT date FROM sys_date WHERE date BETWEEN '2023-09-01' AND '2023-10-23' ) t1LEFT JOIN 
( SELECT date_format( create_time, '%Y-%m-%d' ) AS date, count( * ) AS count FROM sys_event_warn WHERE is_deleted = 0 GROUP BY date ) t2 
ON t1.date = t2.date

数据操作

前面补零

LPAD(员工编号,len,padstr)
select LPAD(member, 8, 0)
结果为 00000001

后面补零

RPAD(员工编号,len,padstr)
select RPAD(member, 8, 0)
结果为10000000

判断是否为数字

SELECT id FROM sys_user WHERE is_deleted = 0 AND host_count REGEXP '^[0-9]+$'

删除

子查询删除

delete from blade_user_grid where grid_id in (select t.id from (select id from tea_grid where is_deleted = 1) as t)

更多推荐

MySQL常见操作

本文发布于:2023-12-03 17:06:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1656898.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:常见   操作   MySQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!