mysql的存储过程和定时任务说明教程;

本文详细介绍了MySQL中的存储过程创建与执行,包括DECLARE、SET、PREPARE和EXECUTE等关键步骤,并展示了如何设置定时任务(EVENT)来定期执行存储过程。通过示例代码,阐述了如何设置定时任务的执行频率和时间,以及如何启用和禁用定时任务。此外,还提供了查询定时任务状态和管理的方法。
摘要由CSDN通过智能技术生成

```java
在这里插入Mysql存储过程 和定时任务的必备知识总结:
(逐字认真阅读是个不错的选择;祝你好运)
一	、第一部分:存储过程;(你需要执行的sql语句)
基本单词:
Create :创建
Procedure:存储过程
Begin:开始
(你把它理解成java中的main函数:begin...end)
End:结束
Declare:声明
(你把它理解成java中的private修饰词)
Prepare:准备
Execute:执行
(1)基本语法:
当你打开mysql在存储过程右键点击==》
新建一个存储过程  ==:如图所示代码片

在这里插入图片描述

 DELIMITER $$

CREATE
    //创建一个存储过程:acc_test;
PROCEDURE `subiaodb`.`acc_test`() 

    //存储过程开始执行部分;
BEGIN
//声明变量 @someday 你会发现使用了@开头和使用``这不是单引号;
//==>键盘左上角(英文输入法)遵守这个声明规则

    DECLARE `@someday`   VARCHAR(100);
    DECLARE `@sqldelete` VARCHAR(255);
    
//赋值:跟java中的很相似;

//下面的日期<后面有一个空格你要记得(不能忽略)
//下面的concat(str1,str2,str3,...)
//你可能会发现:someday直接写入就好了,前后都加上了被双引号””:
//包裹的’在mysql语法中的日期这里事实上:是字符串。所以需要前后

SET`@someday`=DATE_FORMAT(DATE_SUB(NOW(),
INTERVAL 2 DAY),'%Y-%m-%d');

    
    SET @sqldelete = CONCAT(
    "delete from jt809command where createDate < ",
    "'",`@someday`,"'",";"
    );
    
   //准备一个存储过程
PREPARE deleteTableClean FROM @sqldelete;

//执行者存储过程
    EXECUTE deleteTableClean;
    END$$

DELIMITER ;
扩展:(alarm_use)当然有时候:存储过程比较复杂;里面可能有很多的
在begin...end之间
第一个需要执行的sql语句
(1)Declare 声明
(2)set赋值
(3)Prepare准备
(4)Execute执行
第二个需要执行的sql语句
(5)Declare 声明
(6)set赋值
(7)Prepare准备
(8)Execute执行

在这里插入图片描述

语法:
      DELIMITER $$

Create DEFINER=`root`@`localhost` EVENT `terminalcommandclean_event` 

ON SCHEDULE //计划(这是你需要写的地方)

 EVERY 1 DAY STARTS '2020-11-13 03:05:59' //每天的3点05分执行


DO BEGIN //begin...end相当于java中的main方法:call :存储过程名();
	
	    CALL terminalcommandclean();
	    
	END$$

DELIMITER ;


你可能需要的查询语句:

SHOW VARIABLES LIKE '%event_sche%'; //定时任务是否: on状态

SET GLOBAL event_scheduler=1;//不是on状态 ==》设置为on状态


ALTER EVENT test ON COMPLETION PRESERVE ENABLE; 

//开启test 定时任务;

ALTER EVENT test ON COMPLETION PRESERVE DISABLE;
//关闭test定时任务




//查看所有事件属性
SELECT * FROM information_schema.EVENTS;



//查看主要几个属性
SELECT event_name,event_definition,interval_value,interval_field,STATUS FROM information_schema.EVENTS;
 
     




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值