一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - mysql 定時任務的實現與使用方法示例

mysql 定時任務的實現與使用方法示例

2020-12-17 16:52懷素真 Mysql

這篇文章主要介紹了mysql 定時任務的實現與使用方法,結合實例形式分析了MySQL定時任務的相關原理、創建及使用方法,需要的朋友可以參考下

本文實例講述了mysql 定時任務的實現與使用方法。分享給大家供大家參考,具體如下:

mysql5.1.6增加了一個事件調度器(Event Scheduler),可以做定時任務(定時刪除記錄,定時數據統計),取代之前系統的計劃任務。mysql事件調度器可以精確到每秒執行一個任務。

事件調度器與觸發器的區別:事件調度器是基于特定時間周期來觸發執行某些任務,觸發器是基于某個表產生的事件來觸發。

一、查看是否開啟

?
1
> show variables like 'event_scheduler';

二、開啟事件調度器

?
1
set global event_scheduler = on;

 這里的設置,當mysql重啟后,又會自動關閉。如果需要一直開啟,需要在my.ini中配置如下:

?
1
event_scheduler = on

三、創建事件語法

?
1
2
3
4
5
6
7
8
9
10
11
12
CREATE EVENT [IF NOT EXISTS ] event_name
ON SCHEDULE schedule
[ ON COMPLETION [ NOT ] PRESERVE ]
[ ENABLE | DISABLE ]
[ COMMENT '注釋' ]
DO SQL語句;
 
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 }

event_name:事件名,最大長度64個字符。

schedule:執行時間。

[ ON COMPLETION [ NOT ] PRESERVE ] :事件是否需要復用。

[ ENABLE | DISABLE ] :事件開啟或關閉。

四、關閉事件

?
1
ALTER EVENT event_name DISABLE;

五、開啟事件

?
1
ALTER EVENT event_name ENABLE;

六、刪除事件

?
1
DROP EVENT [IF EXISTS ] event_name;

七、查看所有事件

?
1
SHOW EVENTS;

八、事件例子

我們先創建一個簡單的test表用于測試

?
1
2
3
4
5
CREATE TABLE `test` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
 `now` datetime DEFAULT NULL COMMENT '時間',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

事件類型有兩種,一種是間隔觸發,一種是特定時間觸發

我們每隔一秒向test表插入一條記錄:

?
1
2
3
4
5
6
7
DROP EVENT IF EXISTS event_test;
CREATE EVENT event_test
ON SCHEDULE EVERY 1 SECOND STARTS '2017-08-22 11:57:00' ENDS '2017-08-22 12:00:00'
ON COMPLETION PRESERVE
ENABLE
COMMENT '每隔一秒向test表插入記錄'
DO INSERT INTO test VALUES(NULL, now());

 mysql 定時任務的實現與使用方法示例

我們指定時間來向test表插入一條記錄:

?
1
2
3
4
5
6
7
DROP EVENT IF EXISTS event_test2;
CREATE EVENT event_test2
ON SCHEDULE AT '2017-08-22 12:01:00'
ON COMPLETION PRESERVE
ENABLE
COMMENT '指定時間向test表插入記錄'
DO INSERT INTO test VALUES(999999, now());

 mysql 定時任務的實現與使用方法示例

希望本文所述對大家MySQL數據庫計有所幫助。

原文鏈接:https://www.cnblogs.com/jkko123/p/7410974.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 沉沦艳妇杨幂肉体小说 | 国产a一级毛片午夜剧院 | 免费真实播放国产乱子伦 | 色人阁图片 | 狠狠色96视频 | 国产欧美日韩在线不卡第一页 | 女教师波多野结衣高清在线 | 91免费精品国自产拍在线不卡 | 日比免费视频 | 边摸边吃奶边做爽视频免费 | 欧美精品一区视频 | 日韩欧一级毛片在线播无遮挡 | 欧美军人男同69gay | 成人网18免费网站 | 农村美女沟厕嘘嘘被偷看 | 欧美日韩亚洲一区二区三区在线观看 | 久久夜色噜噜噜亚洲AV0000 | 精品亚洲一区二区三区在线播放 | 免费一区在线 | 特a级片 | 国产成人精品实拍在线 | 视频在线观看大片 | 青青草国产精品 | 成年无限观看onlyfans | 欧美最新在线 | 久久日韩精品无码一区 | 草逼的视频 | 亚洲六月丁香六月婷婷蜜芽 | 国产精品51麻豆cm传媒 | 美女脱了内裤打开腿让人桶网站o | 日本高清中文字幕视频在线 | 国产精品探花一区在线观看 | 四虎在线最新地址公告 | 国内精品国语自产拍在线观看55 | 91香蕉视频在线 | 日韩中文字幕视频在线观看 | 欧美猛男同志video在线 | 菠萝视频污 | 性色xxx| 美女黄金大片视频免费看 | 肉搏潘金莲三级18春 |