MySql定时执行SQL

这篇具有很好参考价值的文章主要介绍了MySql定时执行SQL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

好久没写博客了,因为没啥可写,感觉自己对技术的追求已经没有那么强烈了。今天总结一下mysql自带的定时计划。

首先show variables like '%event_sche%';查询定时策略是否开启,如果是关闭的话,需要先开启哦。
执行语句即可:set global event_scheduler=1;

  1. 创建存储过程
    下述案例创建了 名为test_proce的存储过程函数,方便创建事件,事件直接调用该存储过程。
use miaosuyun;
delimiter //
create procedure test_proce()
begin
UPDATE order_course a
join (
			SELECT
				B.* 
			FROM
				(
				SELECT
					ROW_NUMBER() over ( PARTITION BY a.id ) AS row_num,A.* 
				FROM
					order_course A 
				WHERE
					A.course_username IN (
					SELECT
						course_username 
					FROM
						order_course 
					WHERE
						course_status IN ( '2', '4' ,'12') 
					GROUP BY
						course_username 
					HAVING
						SUM( CASE WHEN course_status = '4' THEN 1 ELSE 0 END ) = 0 
						AND SUM( CASE WHEN course_status = '12' THEN 1 ELSE 0 END ) = 0 
						AND SUM( CASE WHEN course_status = '2' THEN 1 ELSE 0 END ) > 0 
					) 
					AND A.course_status = '2' 
				) B
			WHERE
			B.row_num = 1 
	) b on a.id = b.id  set a.course_status = '1';

update order_course a 
join (select *from order_course a where a.course_status in ('3','4')  and a.recent_update_time <= DATE_SUB(NOW(), INTERVAL 10 MINUTE)) b on a.id = b.id
set a.course_status = '1',a.error_msg= null,a.cookie=null,a.watch_finish_rate=0;
end//
delimiter ;
  1. 创建事件
-- 删除事件
drop event second_event
-- 创建事件 并 每隔300秒调用一次 
create event second_event
on schedule every 300 second
do call test_proce();

常用定时执行计划文章来源地址https://www.toymoban.com/news/detail-595253.html

-- 表示创建后并不开始生效
on completion preserve disable

on schedule every 1 second //每秒执行1次
on schedule every 2 minute //每两分钟执行1次
on schedule every 3 day //每3天执行1次

on schedule at current_timestamp()+interval 5 day //5天后执行
on schedule at current_timestamp()+interval 10 minute //10分钟后执行
on schedule at '2016-10-01 21:50:00' //在2016年10月1日,晚上9点50执行

on schedule every 1 day starts current_timestamp()+interval 5 day ends current_timestamp()+interval 1 month //5天后开始每天都执行执行到下个月底
on schedule every 1 day ends current_timestamp()+interval 5 day //从现在起每天执行,执行5天
  1. 开启/关闭 任务
event second_event
alter event second_event on completion preserve enable;
event second_event
alter event second_event on completion preserve disable;
  1. 查询事件
SELECT event_name,event_definition,interval_value,interval_field,status,last_executed FROM information_schema.EVENTS;

到了这里,关于MySql定时执行SQL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL数据库中的索引(含SQL语句)

    假设有一张表,表中有100万条数据,这100万条数据在硬盘上是存储在数据页上的,一页数据大小为16k。存储100万条数据那么就需要数据页,假设其中有一条数据是“id为7900”的,那么如果要查询这条数据,其中SQL是SELECT * FROM 表名 WHERE id = 7900。在执行这条SQL语句的时候,MyS

    2024年02月02日
    浏览(75)
  • mysql,用sql语句,建立学生-课程数据库基本表

    学生表 学号 姓名 年龄 性别 院系 Student Sno Sname Sage Ssex Sdept 课程表 课程号 课程名 先行课 学分 Course Cno Cname Cpno Ccredit 选课表 学号 课程号 成绩 SC Sno Cno Grade 注意创建表的时候要注意它的字段名,类型,长度,约束条件,取值范围要合适,大小写符号要正确,中文逗号,分号

    2024年02月08日
    浏览(55)
  • MySQL数据库概念、管理以及SQL语句的基本命令操作

    数据(data) 描述事物的符号记录 包括数字,文字、图形、图像、声音、档案记录等 以“记录”形式按统一格式进行存储(记录可以看成一条记录) 表 将不同的记录组织在一起 用来存储具体数据 记录:行 字段(属性):列 以行+列的形式就组成了表(数据存储在表中) 数

    2024年02月08日
    浏览(68)
  • MySQL 数据库实用指南:测试数据准备、SQL语句规范与基本操作

    欢迎来到小K的MySQL专栏,本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解 要学习SQL查询语句,首先必须解决一个问题,数据问题。为了方便大家学习阅读我的文章,在这里提供了一个test.sql文件 ✨ 登录MySQL,输入 source xxx/test.sql 导入sql文

    2024年02月08日
    浏览(79)
  • MySQL数据库第十一课---------SQl语句的拔高-------水平提升

                                                       个人主页 ::小小页面                   gitee页面 :秦大大                 一个爱分享的小博主  欢迎小可爱们前来借鉴 ______________________________________________________    SQL提高   日期函数     

    2024年02月16日
    浏览(60)
  • MySQL数据库增删改查及聚合查询SQL语句学习汇总

    目录 数据库增删改查SQL语句 MySQL数据库指令 1.查询数据库 2.创建数据库 3.删除数据库 4.选择数据库 创建表table   查看所有表 创建表 查看指定表的结构 删除表 数据库命令进行注释 增删改查(CRUD)详细说明 增加 SQL库提供了关于时间的函数:now()  查询 查询表作列与列之间进

    2024年02月09日
    浏览(81)
  • 基于Linux操作系统中的MySQL数据库SQL语句(三十一)

    MySQL数据库SQL语句 目录 一、SQL语句类型 1、DDL 2、DML 3、DCL 4、DQL 二、数据库操作 1、查看 2、创建 2.1、默认字符集 2.2、指定字符集 3、进入  4、删除 5、更改 6、练习 三、数据表操作 (一)数据类型 1、数值类型 1.1、TINYINT 1.2、SMALLINT 1.3、INT 1.4、BIGINT 1.5、FLOAT(M,D) 2、时间

    2024年02月15日
    浏览(63)
  • MySQL:想实现sql语句进行批量删除数据库或表,而引发的熬夜探究

    因为在自测过程中,创建了很多数据库,一个个手动删除属实有点对不起程序员这个身份,那么有没有简单的sql语句操作来进行批量删除数据库呢?于是便有了本篇文章 上面图片是AI创作,未经允许,不可商用哦! 删库跑路需谨慎, 放弃一切亦不易。 了解到数据库或表的信

    2024年01月16日
    浏览(58)
  • MySql定时执行SQL

    好久没写博客了,因为没啥可写,感觉自己对技术的追求已经没有那么强烈了。今天总结一下mysql自带的定时计划。 首先 show variables like \\\'%event_sche%\\\'; 查询定时策略是否开启,如果是关闭的话,需要先开启哦。 执行语句即可: set global event_scheduler=1; 创建存储过程 下述案例创建

    2024年02月16日
    浏览(48)
  • MySQL 一条SQL语句是如何执行的?

    ​ 所以今天我们把MySQL拆解一下,看看里边有哪些零件。下边是MySQL的基本架构示意图。 大体来说,MySQL分为Server层和存储引擎两部分。 Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数

    2024年02月01日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包