mysql储存过程以及定时调度清除数据
2015-07-12 08:53
706 查看
1。 首先mysql必须使用5.1.X以上的版本,因为只有在该版本之上,mysql才提供 存储过程以及EVENT(事件)支持。
查看mysql版本可以使用命令:SELECT VERSION(); 进行查看。
2。 分别使用 SHOW VARIABLES LIKE 'performance_schema'; 以及 SHOW VARIABLES LIKE 'event_scheduler'; 命令,查看
这俩个数值的状态,均需要 为 NO 时,才能正常使用。默认状态为 OFF,请自行上网查询命令,修改其状态为 NO 即可。
eg: SET GLOBAL event_scheduler=1 修改事件命令。
3. 直接使用SQLYog等客户端连接工作,执行如下命令创建对象。
创建一个存储过程的例子命令,如下:
[java] view
plaincopy
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `test`.`cleanCaptcha`()
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
DELETE FROM ANNOUNCEMENT WHERE TIMESTAMPDIFF(MINUTE,CREATE_TIME,NOW())>3;
END$$
DELIMITER ;
创建一个event事件命令,如下:
[java] view
plaincopy
-- 创建事件 event:event_name
CREATE EVENT cleanCaptchaEvent
-- 该事件从2013-01-23 00:30:00开始每5分钟执行一次
ON SCHEDULE EVERY 5 MINUTE STARTS NOW()
ON COMPLETION PRESERVE
-- 调用上面写的 PROCEDURE
DO CALL cleanCaptcha();
//
DELIMITER ;
4。 使用 SELECT * FROM information_schema.`EVENTS` 命令可以查看具体event执行的相关信息。
5。 以上方式操作后,就能实现mysql数据库自行定时调用存储过程。
查看mysql版本可以使用命令:SELECT VERSION(); 进行查看。
2。 分别使用 SHOW VARIABLES LIKE 'performance_schema'; 以及 SHOW VARIABLES LIKE 'event_scheduler'; 命令,查看
这俩个数值的状态,均需要 为 NO 时,才能正常使用。默认状态为 OFF,请自行上网查询命令,修改其状态为 NO 即可。
eg: SET GLOBAL event_scheduler=1 修改事件命令。
3. 直接使用SQLYog等客户端连接工作,执行如下命令创建对象。
创建一个存储过程的例子命令,如下:
[java] view
plaincopy
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `test`.`cleanCaptcha`()
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
DELETE FROM ANNOUNCEMENT WHERE TIMESTAMPDIFF(MINUTE,CREATE_TIME,NOW())>3;
END$$
DELIMITER ;
创建一个event事件命令,如下:
[java] view
plaincopy
-- 创建事件 event:event_name
CREATE EVENT cleanCaptchaEvent
-- 该事件从2013-01-23 00:30:00开始每5分钟执行一次
ON SCHEDULE EVERY 5 MINUTE STARTS NOW()
ON COMPLETION PRESERVE
-- 调用上面写的 PROCEDURE
DO CALL cleanCaptcha();
//
DELIMITER ;
4。 使用 SELECT * FROM information_schema.`EVENTS` 命令可以查看具体event执行的相关信息。
5。 以上方式操作后,就能实现mysql数据库自行定时调用存储过程。
1. [代码]查询数据库中的存储过程
?2. [代码]查看存储过程或函数的创建代码
?相关文章推荐
- ubuntu在terminal下安装mysql
- mysql导入数据库和导出数据库
- mysql常用函数
- MySql source 命令注意点
- MySQL的root密码忘记后重置方法
- 在同一台电脑上配置两个mysql数据库(解压版)
- mysql中 find_in_set()函数的使用
- MySQL的配置
- MySQL Cluster 核心概念
- MySQL的调优
- 安装MySQL最后一步出现错误Error Nr.1045解决方法
- mysql的使用
- mysql源码包手动安装、配置以及测试(亲测可行)
- mysql源码包手动安装、配置以及测试(亲测可行)
- MFC对MYSQL数据库相关操作
- 绿色mysql初始化以及遇到一些问题解决方法
- galera mysql cluster
- 编译安装mysql与mysql error 解决之道
- mysql解决无法远程客户端连接
- yum命令安装mysql