创建和使用MySQL计划事件
查看事件调度程序线程的状态:
SHOW PROCESSLIST;
要启用和启动事件调度程序线程命令:
SET GLOBAL event_scheduler = ON;
禁用和停止事件调度程序线程:
SET GLOBAL event_scheduler = OFF;
创建和计划新事件,请使用CREATE EVENT语句,如下所示:
CREATE EVENT [IF NOT EXIST] event_name
ON SCHEDULE schedule
DO
event_body
让我们详细地查看上面的语句。
- 首先,在
CREATE EVENT子句之后指定事件名称。 事件名称在数据库模式中必须是唯一的。 - 其次,在
ON SCHEDULE子句之后放置一个调度。 如果事件是一次性事件,则使用语法:AT timestamp [+ INTERVAL];如果事件是重复事件,则使用EVERY子句:EVERY interval STARTS timestamp [+INTERVAL] ENDS timestamp [+INTERVAL]。 - 第三,将SQL语句放在
DO关键字后面。要注意的是,可以在事件的主体内调用存储过程。如果有复合SQL语句,可以将它们放在BEGIN END块中。
首先,使用CREATE TABLE语句创建一个名为messages的新表,如下所示:
CREATE TABLE IF NOT EXISTS messages (
id INT PRIMARY KEY AUTO_INCREMENT,
message VARCHAR(255) NOT NULL,
created_at DATETIME NOT NULL
);
第二步,使用CREATE EVENT语句创建事件:
CREATE EVENT IF NOT EXISTS test_event_01
ON SCHEDULE AT CURRENT_TIMESTAMP
DO
INSERT INTO messages(message,created_at)
VALUES('测试MySQL事件执行(1)',NOW());
第三步,查看messages表; 就会看到表中有1条记录。这意味着创建事件时执行它。
SELECT * FROM messages;
要显示数据库模式的所有事件,请使用以下语句:
SHOW EVENTS FROM studymysql;
例子:
该事件在创建完成1分钟后执行,并且在执行后不会删除。
CREATE EVENT test_event_02
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
ON COMPLETION PRESERVE
DO
INSERT INTO messages(message,created_at)
VALUES('测试MySQL事件执行(2)',NOW());
以下语句创建每隔一分钟执行一次并且在创建时间后1小时内过期的重复事件:
CREATE EVENT test_event_03
ON SCHEDULE EVERY 1 MINUTE
STARTS CURRENT_TIMESTAMP
ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
INSERT INTO messages(message,created_at)
VALUES('测试MySQL重复事件',NOW());
删除MySQL事件
要删除现有事件,请使用DROP EVENT语句,如下所示:
DROP EVENT [IF EXIST] event_name;
例如,要删除test_event_03事件,请使用以下语句:
DROP EVENT [IF EXIST] test_event_03;
待续...................
参考链接: 创建和使用MySQL计划事件
https://www.aliyun.com/jiaocheng/mysql?spm=5176.100033.1.3.31152197VX5mlP
创建和使用MySQL计划事件的更多相关文章
- 如何开启mysql计划事件
如何开启mysql计划事件 (2012-07-26 12:21:23) 转载▼ 标签: mysql 事件计划 it 分类: MySQL 首先在sql中查询计划事件的状态:SHOW VARIABLES ...
- 【转】mysql 计划事件
转自:http://www.cnblogs.com/c840136/articles/2388512.html MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件.定时任务机制,在 ...
- mysql计划任务每天定时执行
代码例子:CREATE EVENT `course_listener` ON SCHEDULE EVERY DAY STARTS '2012-07-18 00:00:00' ON COMPLETION ...
- mysql数据库事件调度(Event)
mysql中的事件调度器可以定时对数据库增加,删除和执行操作,相当于数据库中的临时触发器,与Linux系统中的执行计划任务一样,这样就可以大大降低工作量. 1.开启事件调度器 [root@node1 ...
- Mysql数据库事件使用与示例
1 事件简介 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”. 事件和触发器类似,都是在 ...
- mysql计划任务
这两天一直遇见mysql计划任务的案例,今天我就给大家分享一个真是的实例: 1.创建计划任务的语法: create event 任务名称 on schedule at 时间周期 starts '年- ...
- mysql的事件
mysql的事件定时器的使用: SHOW VARIABLES LIKE 'event_scheduler' --查询event_scheduler开启状态 SET GLOBAL event_sched ...
- Mysql event事件用法
公司的数据库需要进行定期删除数据,需要用到mysql event事件,学习和梳理这块知识. 1查看event是否开启 SHOW VARIABLES LIKE 'event_scheduler'; 2开 ...
- Azure 元数据服务:适用于 Windows VM 的计划事件(预览)
计划事件是 Azure 元数据服务中的其中一个子服务. 它负责显示有关即将发生的事件(例如,重新启动)的信息,使应用程序可以为其做准备并限制中断. 它可用于所有 Azure 虚拟机类型(包括 PaaS ...
随机推荐
- GenericApp SampleApp SimpleAp的区别
SampleApp3.2 Zigbee2007 协议栈实验例程表演说明C:\Texas Instruments\ZStack-2.0.0-1.2.0\Projects\zstack\Samples\S ...
- “玲珑杯”ACM比赛 Round #1 题解
A:DESCRIPTION Eric has an array of integers a1,a2,...,ana1,a2,...,an. Every time, he can choose a co ...
- ormlite 删除操作
ormlite删除操作 DeleteBuilder<TransferDetailDtl, Integer> deleteBuilder = mRawDao.deleteBuilder(); ...
- ubuntu 解压 windows 生成的 zip 文件乱码问题
在windows上压缩的文件,是以系统默认编码中文来压缩文件.由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码. 有两种方式解决问题:(建议采用方法 ...
- js所有函数集合
lick() 对象.click() 使对象被点击. closed 对象.closed 对象窗口是否已关闭true/false clearTimeout(对象) 清除已设置的setTimeout对象 c ...
- spring,hibernate配置事务 beans.xml
beans.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...
- test命令
每一种条件语句的基础都是判断什么是真什么是假.是否了解其工作原理将决定您编写的是质量一般的脚本还是您将引以为荣的脚本.Shell 脚本的能力时常被低估,但实际上其能力的发挥受制于脚本撰写者的能力.您了 ...
- android脚步--Relativelayout设置
引自http://blog.csdn.net/lamp_zy/article/details/8035161 http://my.oschina.net/honeyming/blog/130761 以 ...
- Highcharts选项配置详细说明文档
Highcharts提供大量的选项配置参数,您可以轻松定制符合用户要求的图表,目前官网只提供英文版的开发配置说明文档,而中文版的文档网上甚少,且零散不全.这里,我把Highcharts常用的最核心的参 ...
- R.layout.main cannot be resolved解决办法
今天敲的代码 package com.sharpandroid.activity; import android.R; import android.app.Activity; import andr ...