一、簡介:
Mysql屬於中小型數據庫系統,它的事件調度器Event Scheduler是在mysql 5.1才開始引入事件調度器是在 MySQL 5.1 中新增的另一個特色功能,可以作為定時任務調度器,取代部分原先只能用操作系統任務調度器才能完成的定時功能。事件調度器是定時觸發執行的,在這個角度上也可以稱作是"臨時的觸發器"。觸發器只是針對某個表產生的事件執行一些語句,而事件調度器則是在某一個(間隔)時間執行一些語句。事件是由一個特定的線程來管理的,也就是所謂的"事件調度器"。筆者使用的 mysql 的版本是mysql 5.6.22。
二、開啟定時任務:
1、通過 show variables like 'event_scheduler' 命令,可以查看 event是否開啟,或者 SELECT @@event_scheduler
如果未開啟,可以通過命令開啟: set global event_scheduler =1;
2、語法:
CREATE EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schedule
ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE] [COMMENT 'comment'] DO sql_statement / CALL PROCEDURE;
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}