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 | 意思将语句的结束标志符换为|,最后再换为;

  • 相关阅读:
    如何让DataGridView根据数据“0”或“1”等值显示为“是”或“否”
    GridView控件RowDataBound事件中获取列字段的几种方法
    DataGridView 显示和隐藏DataGridViewButtonCell按钮的办法
    ASP.NET会话(Session)保存模式
    Update 两个表之间数据更新
    两表相连去除重复数据
    BS网站与Winform窗体的数据交互(WebService实现)
    winform 下实现消息传递机制
    SQL常用字符串函数
    HDU 威威猫系列故事——篮球梦
  • 原文地址:https://www.cnblogs.com/ww11/p/8966371.html
Copyright © 2011-2022 走看看