mysql高级【5】:mysql事件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26584263/article/details/82226419

 mysql中使用事件那么事件的线程应该是开启的,

查看开启线程的命令是: show processlist

event_scheduler开启事件才能执行的,如果没有开启

开启:set global event_scheduler  = on;

关闭:set global event_scheduler  = off;

线程开启了那么我们来操作事件。

新建一个表:下面事件的操作将围绕这个表进行哦。

create table test(
      id int auto_increment primary key,
      time datetime,
      user varchar(50)

);

1、事件的创建

上一篇中的触发器是被动触发的,而事假是主动触发的。当一天结束可以使用事件清除当天的日志数据,可以使用事件来定时新增数据,事件有一次性的时间有循环的事件,事件是可以调用存储过程和函数的哦。

事件的格式是:中括号里面的是可选择的

CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] event_name  //event_name事件名称
ON SCHEDULE schedule

[ON COMPLETION [NOT] PRESERVE]  /*

当为on completion preserve 的时候,当eventd到期了,event会被disable,但是该event还是会存在

当为on completion not preserve的时候,当event到期的时候,该event会被自动删除掉.*/

[ENABLE | DISABLE | DISABLE ON SLAVE] //事件的状态,enable是默认的可以使用,disable和disable on slave是禁用

[COMMENT 'comment']  //增加注释

DO event_body;  //event body 是执行的SQL语句或者调用存储过程等。

schedule时间表达式

AT timestamp //timestamp时间戳

[+ INTERVAL interval] ... | 

EVERY interval

[STARTS timestamp [+ INTERVAL interval] ...]

[ENDS timestamp [+ INTERVAL interval] ...]

interval时间类型:

YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND

下面新增一个10秒钟自动新增一条数据的并且1分钟以后结束的事件,事件执行完就自动删除不保存。

create event twosecond
      on schedule every 10 second 
      starts current_timestamp() 
      ends current_timestamp() + interval 1 minute 
      on completion not preserve 
      do 
      insert into test(time,user) values(now(),user()); 

等过了一分钟查询test表里面的数据:数据表里面新增了7条数据这个事件是正确执行了。

 定时一个任务10秒以后删除id为44 的数据

 create event test1
    on schedule at current_timestamp + interval 10 second
    do
    delete from test  where id = 44;

查询数据以后可以发现id为44 的数据已经被删除了

 

2、事件的修改

事件可以修改它的属性

每个属性都可以修改,其他的属性影响的

例如:ceshi事件的禁用

修改调度时间:

 

3、事件的删除

事件的删除:mysql表、存储过程、触发器删除都是一样的操作

drop   event   事件名;

例如:

《………………………………………………菜鸟起飞中,请各位走过路过的多多指教……………………………………》

猜你喜欢

转载自blog.csdn.net/qq_26584263/article/details/82226419