MySQL中的调度器

MySQL中的事件调度器是MySQL 5.1版本才新增的功能,可以将数据库按照规定的时间周期对数据库做增加、删除、修改等操作。

1.MySQL中查看数据库版本的命令: 

SELECT VERSION();

2.数据库中的事件调度器默认是关闭,因此我们可以使用使用以下命令来开启或者关闭调度器,ON表示开启,OFF表示关闭

SET GLOBAL event_scheduler = ON;

3.查询全局Event Scheduler(事件调度器)的开启状态

SHOW VARIABLES LIKE '%scheduler%';

4.查询所有的调度事件

SELECT * FROM mysql.event;

5.创建一个调度事件

CREATE EVENT IF NOT EXISTS autoInsert 
ON SCHEDULE EVERY 30 SECOND
ON COMPLETION PRESERVE 
DO INSERT INTO USER(NAME,age) VALUES("张三",18);

该段SQL语句表示创建一个名为autoInsert的调度事件,每30秒执行一次,每次都会执行INSERT INTO USER(NAME,age) VALUES("张三",18); 操作。

当为on completion preserve 的时候,当event到期了,event会被disable,但是该event还是会存在(推荐使用这个
当为on completion not preserve的时候,当event到期的时候,该event会被自动删除掉

-- 测试时使用到的表结构
create table `user` (
	`name` varchar (15),
	`age` int 
);

新的调度事件创建成功以后,会在Events目录下面看到我们刚刚新创建的调度事件的名称

MySQL中的调度器_第1张图片

 

6.禁用某一个调度事件

ALTER event autoInsert DISABLE;

7.开启某一个调度事件(需要说明的是只要当全局的调度器开启后,我们使用该命令才有意义,不然使用了该命令,其所对应的调度事件也还是无法运行

ALTER  event autoInsert ENABLE;

8.删除某一个调度事件

DROP event IF EXISTS autoInsert;

9.查询某一个调度事件的是否可用

SELECT STATUS FROM mysql.event WHERE NAME ='autoInsert';

 

你可能感兴趣的:(MySQL)