mysql 定時任務可通過 event 語句創(chuàng)建,用于在指定時間間隔自動執(zhí)行任務。創(chuàng)建語法為:create event event_name on schedule [at start_time | every interval_value] do [任務] end。可以使用 show events 查詢、alter event 修改、drop event 刪除定時任務。
如何使用 MySQL 創(chuàng)建定時任務
MySQL 是一種功能強大的數(shù)據(jù)庫管理系統(tǒng),它允許您在特定時間間隔自動執(zhí)行任務。要創(chuàng)建 MySQL 定時任務,您可以使用 EVENT 語句。
創(chuàng)建 EVENT 語句
CREATE EVENT event_name ON SCHEDULE AT start_time EVERY interval_value DO -- 要執(zhí)行的任務 END;
登錄后復制
參數(shù)說明:
event_name:定時任務的名稱。
ON SCHEDULE:指定任務調度的類型。可以是 AT(特定時間)或 EVERY(特定時間間隔)。
AT start_time:如果 ON SCHEDULE 為 AT,則指定任務開始執(zhí)行的時間。
EVERY interval_value:如果 ON SCHEDULE 為 EVERY,則指定任務執(zhí)行的頻率,例如 EVERY 1 DAY(每天執(zhí)行一次)。
DO:指定要執(zhí)行的任務。可以使用 SQL 語句或存儲過程。
示例
以下示例創(chuàng)建一個每小時執(zhí)行一次的定時任務,該任務將 user_activity 表中的記錄從數(shù)據(jù)庫中刪除:
CREATE EVENT hourly_cleanup ON SCHEDULE EVERY 1 HOUR DO DELETE FROM user_activity WHERE timestamp <p><strong>管理 EVENT</strong></p><p>一旦創(chuàng)建了定時任務,您可以使用以下語句對其進行管理:</p>
登錄后復制
查詢 EVENT:SHOW EVENTS;
啟用/禁用 EVENT:ALTER EVENT event_name [ENABLE | DISABLE];
刪除 EVENT:DROP EVENT event_name;
注意事項
MySQL 8.0 及更高版本支持 EVENT。
確保 MySQL 服務器正在運行,并且定時任務已啟用。
定時任務將在服務器時間而不是客戶端時間執(zhí)行。