MySQL 定时器EVENT学习
来源:互联网 发布:跑跑卡丁车淘宝刷车队 编辑:程序博客网 时间:2024/05/17 04:17
转载自:http://hzl7652.iteye.com/blog/614263
MySQL从5.1开始支持event功能,类似oracle的job功能。有了这个功能之后我们就可以让MySQL自动的执行数据汇总等功能,不用像以前需要操作的支持了。如linux crontab功能 。
创建测试表
CREATE TABLE t
(
v VARCHAR(100) NOT NULL
) ENGINE INNODB DEFAULT CHARSET=utf8;
创建定时器 调用的存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS e_test $$
CREATE PROCEDURE e_test()
BEGIN
INSERT INTO t VALUES('1');
END $$
DELIMITER ;
要使定时起作用 MySQL的常量GLOBAL event_scheduler必须为on或者是1
-- 查看是否开启定时器
SHOW VARIABLES LIKE '%sche%';
-- 开启定时器 0:off 1:on
SET GLOBAL event_scheduler = 1;
-- 创建事件
--每隔一秒自动调用e_test()存储过程
CREATE EVENT IF NOT EXISTS event_test
ON SCHEDULE EVERY 1 SECOND
ON COMPLETION PRESERVE
DO CALL e_test();
-- 开启事件
ALTER EVENT event_test ON
COMPLETION PRESERVE ENABLE;
-- 关闭事件
ALTER EVENT event_test ON
COMPLETION PRESERVE DISABLE;
SELECT * FROM t;
一些例子:
- 从现在开始每隔九天定时执行
- CREATE EVENT EVENT1
- ON SCHEDULE EVERY 9 DAY STARTS NOW()
- ON COMPLETION PRESERVE ENABLE
- DO
- BEGIN
- CALL TOTAL();
- END
- 每个月的一号凌晨1 点执行
- CREATE EVENT EVENT2
- ON SCHEDULE EVERY 1 MONTH STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 1 HOUR)
- ON COMPLETION PRESERVE ENABLE
- DO
- BEGIN
- CALL STAT();
- END
- 每个季度一号的凌晨2点执行
- CREATE EVENT TOTAL_SEASON_EVENT
- ON SCHEDULE EVERY 1 QUARTER STARTS DATE_ADD(DATE_ADD(DATE( CONCAT(YEAR(CURDATE()),'-',ELT(QUARTER(CURDATE()),1,4,7,10),'-',1)),INTERVAL 1 QUARTER),INTERVAL 2 HOUR)
- ON COMPLETION PRESERVE ENABLE
- DO
- BEGIN
- CALL SEASON_STAT();
- END
- 每年1月1号凌晨四点执行
- CREATE EVENT TOTAL_YEAR_EVENT
- ON SCHEDULE EVERY 1 YEAR STARTS DATE_ADD(DATE(CONCAT(YEAR(CURDATE()) + 1,'-',1,'-',1)),INTERVAL 4 HOUR)
- ON COMPLETION PRESERVE ENABLE
- DO
- BEGIN
- CALL YEAR_STAT();
- END
- MySQL 定时器EVENT学习
- MySQL 定时器EVENT学习
- MySQL 定时器EVENT学习
- MySQL 定时器EVENT学习
- MySQL 定时器EVENT学习
- MySQL 定时器EVENT学习
- mysql 定时器 event
- MySQL 定时器EVENT
- MYSQL EVENT 定时器
- mysql 定时器 event
- mysql event 定时器
- mysql创建定时器(event)
- mysql创建定时器(event)
- mysql event 学习备注
- mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间
- mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间
- mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间
- mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间
- Java中的内部类01-什么是内部类
- pycharm 解决No Python interpreter selected的问题
- 66-70.数据结构复习
- 使用自定义控件的正确姿势
- Leetcode 9 Palindrome Number 回文数
- MySQL 定时器EVENT学习
- ubuntu16.04如何同时安装python2和python3
- LeetCode 26 Remove Duplicates from Sorted Array
- PHP之生成左填充0的编号(存储到MYSQL)
- 标准C/C+头文件
- LeetCode 167 Two Sum 2-Input array is sorted
- 我也来说说WannaCry勒索病毒
- java获取计算机用户名
- java语言搭建SSL的Socket并发送字符串消息(最简单应用实例/常见异常及解决)