MySQL利用Navicat客户端实现定时插入删除数据

前言

MySQL在windows下,利用Navicat客户端,创建存储过程实现简单定时任务对表操作

环境

MySQL5.7.21
windows10
Navicat(premium)11.2.7 64位

开启MySQL定时

查询状态

新建查询>运行:SHOW VARIABLES LIKE 'event_scheduler'
查询看到默认为关闭
MySQL利用Navicat客户端实现定时插入删除数据
修改为开启
执行:SET GLOBAL event_scheduler = ON
开启,再次查询为ON,ok
MySQL利用Navicat客户端实现定时插入删除数据

创建表

MySQL利用Navicat客户端实现定时插入删除数据

创建函数

打开窗口
一次点击 函数>新建函数>完成
MySQL利用Navicat客户端实现定时插入删除数据
创建函数
在begin和end之间写一条要执行的sql
每分钟新增一条数据(定时删除可看最下方ps内容)
MySQL利用Navicat客户端实现定时插入删除数据
代码

BEGIN
	INSERT INTO hello (text,date) VALUES ("每分钟增加一条",NOW());
END

点保存,填写一个名字,再点击函数可以看到刚才新建的函数
MySQL利用Navicat客户端实现定时插入删除数据

创建事件

一次点击 事件>新建 输入call +刚才函数起的名字,我的是:CALL hello_min_ins
MySQL利用Navicat客户端实现定时插入删除数据
点击 计划,设置 时间间隔和开始时间
MySQL利用Navicat客户端实现定时插入删除数据
起一个名字保存,点击事件可以看到刚才创建的事件
此事件用来定时调用之前创建的函数
MySQL利用Navicat客户端实现定时插入删除数据

完成

实现了每分钟新增一条数据
MySQL利用Navicat客户端实现定时插入删除数据
ps:如果想每分钟删除一条id最小的数据,新建函数

BEGIN
	DELETE FROM hello ORDER BY id LIMIT 1;
END

ps:如果想每天删除七天前的数据,新建函数

BEGIN
    DELETE FROM hello WHERE date < DATE_SUB(CURDATE(), INTERVAL 7 DAY);
END

事件里修改事件EVERY 1 DAY即可
MySQL利用Navicat客户端实现定时插入删除数据

成功

简单的定时任务调存储过程实现了对mysql的定时操作
如有偏颇敬请斧正,本厮邮箱:[email protected]