关于mysq事件调度器的知识总结
1什么是事件调度器
mysql的事件调度器可以简单理解为时间触发器。将数据库按照自定义的时间周期进行某种操作,例如每隔一段时间自动向表中插入数据等操作。
2如何使用事件调度器
直接上sql语句:
创建调度器
CREATE EVENT myevent
ON SCHEDULE EVERY 5 SECOND
DO INSERT INTO TABLE VALUES(1)
myevent 为调度器名称,在CREATE EVENT 关键字后指定
ON SCHEDULE 后加调用周期 在上面语句中设置为每5秒执行一次
DO后加执行语句,可以为增删改查中的具体语句
查看调度器状态
show events \G;
此语句后显示所有调度器的状态,具体如下图所示
执行过以上步骤后,事件调度器可能还无法运行,那是应为mysql调度器默认为关闭状态,需要手动打开。
执行
show variables like '%scheduler%';
查看调度器是否打开,如果为关闭则使用
set global event_scheduler=1;
打开调度器后,调度器便可正常运行
停用,删除调度器
停用
alter event test_event_1 disable;
删除
drop event test_event_1;
test_event_1 为调度器名称
3运用实例
接下来将使用一个实例具体展示事件调度器的使用
建立表,包括id 和time两个字段 time的类型为datetime,插入一条记录,创建调度器每20秒更新一次time的时间,最终禁止,删除调度器。
创建新表:
新插入一条记录,添加当前时间
创建事件调度器
查看事件调度器是否开启
查看调度器使用结果
id为1的记录成功更新
禁用调度器
删除调度器
至此实例演示完成
本篇作为学习总结,也希望能为学习mysql的同学给予帮助。