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,創建語句如下:
) 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