mysql-定时调用存储过程
2023-09-14 09:08:12 时间
mysql定时调用存储过程,对表数据集表结构进行备份
存储过程实例:
BEGIN DECLARE tname varchar(64); set @tname = CONCAT('RENAME TABLE sms_accpet TO sms_accpet',DATE_FORMAT(NOW(),'%Y%m')); PREPARE pre_tname from @tname; EXECUTE pre_tname; set @newtable = CONCAT('create table sms_accpet select * from sms_accpet_template where 1=2'); PREPARE pre_newtable from @newtable; EXECUTE pre_newtable; alter table sms_accpet add primary key (id); alter table sms_accpet modify column id int unsigned not null auto_increment; END
定时器实例
CREATE EVENT EVENT_SMS 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 CALL backUpSms();
參考站点:
存储过程:
http://blog.csdn.net/youngqj/article/details/6936632
http://blog.csdn.net/sun886/article/details/7992935
定时器:
http://www.cnblogs.com/gaizai/archive/2012/12/24/2831315.html
http://lobert.iteye.com/blog/1953827
1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 2.仅仅复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 即:让WHERE条件不成立. 方法二:(低版本号的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了) CREATE TABLE 新表 LIKE 旧表 3.复制旧表的数据到新表(如果两个表结构一样) INSERT INTO 新表 SELECT * FROM 旧表 4.复制旧表的数据到新表(如果两个表结构不一样) INSERT INTO 新表(字段1,字段2,…….) SELECT 字段1,字段2,…… FROM 旧表
例子抽选
每天凌晨三点运行 create event event_call_defer on schedule every 1 day starts date_add(date(curdate() + 1),interval 3 hour) on completion preserve enable do begin call test.warn(); 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 存储过程与函数(精简笔记)
- MySQL:实现多数据高性能存储(mysql存储多个数据)
- MySQL 数据库:加速升级你的数据库(mysql数据库升级)
- MySQL存储文章实现的精彩之处(mysql中存储文章)
- Mysql存储过程实现的排序算法(mysql存储过程排序)
- MySQL数据库编码设置详解(mysql建数据库编码)
- 深入了解:如何通过MySQL查看等待状态?(mysql查看等待)
- Mysql日期查询:如何筛选大于指定日期的数据(mysql日期大于)
- 轻松掌握MySQL:进入数据库的简易指南(mysql进入数据库)
- 「MySQL管理工具,一点都不难!」(mysql界面管理工具)
- MySQL存储函数:掌握数据处理技术(mysql的存储函数)
- MySQL中存储BLOB类型数据的实现方式(mysql blob数据)
- 阿里云服务器:构建MySQL多层数据库架构(阿里云服务器 mysql)
- MySQL 如何导入 XML 文件(mysql导入xml文件)
- 在Python中简单调用MySQL(python调用mysql)
- MySQL存储过程备份:有备无患(mysql存储过程备份)
- 使用in操作符时MySQL是否能够充分利用索引MySQL In操作符优化技巧(mysql中in走索引吗)
- 存储使用C语言操作MySQL数据库存储(c 使用mysql的数据)
- C语言在MySQL中实现图片路径的存储(c mysql图片路径)
- MySQL存储引擎介绍及特点分析(mysql个存储引擎)
- MySQL与Bison构建强大的应用程序(bison mysql)
- MySQL实现一行数据对应多行,接收并存储重复数据,提高数据存储效率(mysql一行对应多行)
- 使用MySQL管理XML表格数据存储与传输的完美组合(mysql xml 表)
- MySQL 下载图形化界面,助力数据管理Note This translation has been done by a language model AI and may contain errors
- MySQL指令运行异常怎么办详解问题原因及解决方案(mysql 不能运行指令)
- mysql存储过程在动态SQL内获取返回值的方法详解
- php调用MySQL存储过程的方法集合(推荐)