zoukankan      html  css  js  c++  java
  • Mysql event事件用法

    公司的数据库需要进行定期删除数据,需要用到mysql event事件,学习和梳理这块知识。

    1查看event是否开启
    SHOW VARIABLES LIKE 'event_scheduler';

    2开启event
    SET GLOBAL event_scheduler = 1;

    3查看所有的event
    select * from mysql.event G

    4删除event
    drop event event_name

    5语法:

    CREATE
        [DEFINER = { user | CURRENT_USER }]
        EVENT
        [IF NOT EXISTS]
        event_name
        ON SCHEDULE schedule
        [ON COMPLETION [NOT] PRESERVE]
        [ENABLE | DISABLE | DISABLE ON SLAVE]
        [COMMENT 'comment']
        DO event_body;
    
    schedule:
        AT timestamp [+ INTERVAL interval] ...
      | EVERY interval
        [STARTS timestamp [+ INTERVAL interval] ...]
        [ENDS timestamp [+ INTERVAL interval] ...]
    
    interval:
        quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
    
    

    参数解析
    event_name:事件的名称
    schedule:事件触发点,【AT timestamp】一般用于只执行一次,一般使用时可以使用当前时间加上延后的一段时间,例如:AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR。也可以定义一个时间常量,例如:AT '2006-02-10 23:59:00';【EVERY interval】一般用于周期性执行,可以设定开始时间和结束时间。
    ON COMPLETION [NOT] PRESERVE:默认是执行完之后会自动删除。如果想保留该事件使用ON COMPLETION PRESERVE,使用select查询语句可以查询到;如果不想保留也可以设置ON COMPLETION [NOT] PRESERVE。
    ENABLE | DISABLE:设置启用或者禁止这个事件。
    COMMENT:增加注释。

    6案例:
    创建一个test表,只有一个字段data类型 名为time的字段
    每间隔5秒钟在表格table中输入一条数据。

    delimiter |
    CREATE EVENT test1
    ON SCHEDULE every 5 second
    ON COMPLETION PRESERVE
    DO BEGIN
      insert into test(time) values(now());
    END |
    delimiter ;
    

    每间隔20秒删除表格中的数据

    delimiter |
    CREATE EVENT test2
    ON SCHEDULE EVERY 20 second
    ON COMPLETION PRESERVE
    DO BEGIN
      delete from test;
    END |
    delimiter ;
    

    delimiter | 意思将语句的结束标志符换为|,最后再换为;

  • 相关阅读:
    正则表达式口诀
    Ajax请求的四种方式
    jQuery插件 -- jQuery UI插件
    电脑操作技巧
    递归
    声纹识别环境初次搭建
    视频编码book_实战_全角度——1
    SDK等阅读笔记
    音视频bug调试
    音视频开发进阶指南(二)
  • 原文地址:https://www.cnblogs.com/ww11/p/8966371.html
Copyright © 2011-2022 走看看