程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> MySQL 事件調度器

MySQL 事件調度器

編輯:MYSQL入門知識

 MySQL中的事件調度器是 MySQL 5.1 以後才新增的功能.可以將數據庫按照規定的時間周期對數據庫做,增加,刪除,修改等操作.相當於linux中的無人調度器 crontab(相關crontab的操作請看參看我些的linux的計劃任務).避免了一些數據相關的定時任務在業務操作層,減少操作員誤操作的風險, 大大縮短了工作量提高工作效率.

     首先介紹下語法:

     CREATE EVENT [IF NOT EXISTS] event_name

    ON SCHEDULE schedule

    [ON COMPLETION [NOT] PRESERVE]

    [ENABLE | DISABLE]

    [COMMENT 'comment']

    DO sql_statement

    schedule:

    AT TIMESTAMP [+ INTERVAL INTERVAL]

    | EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]

 

    INTERVAL:

       quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |

      WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |

    DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

    說明:中括號中為可選擇項,可指定任務執行的頻率.通過DO字句指定要執行的具體操作.

     創建一個計劃任務每個三秒鐘想一個表中插入一條測試數據.例子如下:

      (1) 創建測試用測試表既:(注意:方才為了模擬數據庫密碼忘記情況做了以下數據庫停止操作,啟動的時候大家注意一定要把進程中的 mysqldkill掉否則無法啟動.)

       接下來創建測試庫,本例直接用以前用於測試的表:t_time,創建語句如下:

  

      CREATE TABLE `t_time` (     `d` date DEFAULT NULL,     `t` time DEFAULT NULL,     `dt` datetime DEFAULT NULL,     `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最後更新時   間'  

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

 

         (2) 創建事件調度器 event_insert_t_time

       

       (3)  查看創建事件調度器是否成功:出現下圖說明創建成功.

     

      (4) 過了幾秒查看表中沒有數據.

     

       (5) 查看調度器狀態看是否為開啟狀態,(默認為關閉的)

     

      (6) 打開調度器

    

     (7) 查看表中數據

    

     (8) 設計調度器禁用

    

     (9) 如果不用還可以刪除調度器命令如下:

      drop event  event_insert_t_time;

 本文我原版,歡迎轉載轉載請說明出處.

http://www.cnblogs.com/northeastTycoon
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved