mysql定时event创建每隔一天_mysql用event设置定时任务
mysql安装下载:http://downloads.mysql.com/archives/installer/
mysql设置定时任务:
需求:mysql数据库里面做个定时任务自动每天创建一张表。
1.查看是否开启event与开启event
show variables like '%sche%';
若未开启,set global event_scheduler =1;
2.创建存储过程
每天创建一个名为 test_年月日的表
delimiter //
drop procedure if exists create_table01//
CREATE PROCEDURE create_table01()
BEGIN
declare str_date varchar(50);
SET str_date = date_format(now(),'%Y%m%d');
SET @sqlcmd1 = CONCAT('CREATE TABLE test_',str_date,'(
id int(11) not null auto_increment primary key,
time datetime not null
) ;');
PREPARE p1 FROM @sqlcmd1;
EXECUTE p1;
DEALLOCATE PREPARE p1;
END//
delimiter ;
3.创建事件,调用存储过程
drop event if exists test_event01;
create event test_event01
on schedule every 1 DAY STARTS NOW()
do call create_table01();
开启事件
alter event test_event on completion preserve enable;
show tables;
查询是否建表成功
若是想关闭事件:
alter event test_event on completion preserve disable;
4.事件执行时间的设置
CREATE EVENT test_event01 ON SCHEDULE EVERY 1 DAY STARTS '2012-09-24 00:00:00'
ON COMPLETION PRESERVE ENABLE DO CALL create_table01();
EVERY #后面的是时间间隔,可以选 1 second,3 minute,5 hour,9 day,1 month,1 quarter(季度),1 year
#从2013年1月13号0点开始,每天运行一次
ON SCHEDULE EVERY 1 DAY STARTS '2013-01-13 00:00:00'
#从现在开始每隔九天定时执行
ON SCHEDULE EVERY 9 DAY STARTS NOW() ;
#每个月的一号凌晨1 点执行
on schedule every 1 month starts date_add(date_add(date_sub(curdate(),interval day(curdate())-1 day),interval 1 month),interval 1 hour);
#每个季度一号的凌晨1点执行
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 1 hour);
#每年1月1号凌晨1点执行
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 1 hour);
5.几个相关概念
存储程序:( 存储函数(stored function)+存储过程(stored procedure)+触发器(trigger)+事件(event) )
存储函数:返回一个计算结果,该结果可以用在表达式里
存储过程:不直接返回一个结果,但可以用来完成一般的运算或是生成一个结果集并传递会客户
触发器:与数据表关联,当那个数据表被 insert、delete、update语句修改时,触发器将自动执行
事件:根据时间表在预订时刻自动执行
mysql定时event创建每隔一天_mysql用event设置定时任务相关推荐
- mysql中如何设置定时任务_mysql如何实现设置定时任务 mysql实现设置定时任务方法...
本篇文章小编给大家分享一下mysql实现设置定时任务方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1.首先检查是否开启了定时任务 查看event是否开启 : SHOW ...
- mysql数据库如何创建冗余小的表_mysql – Hibernate创建冗余的多对多表
在开发我的Spring Boot应用程序时,我不得不放弃我的数据库并让Hibernate使用hibernate.hbm2ddl.auto = update再次生成它.之后我想确保它完成了我想做的所有事 ...
- mysql中索引创建 查看和删除语句_MySQL如何创建和删除索引?
mysql索引,mysql创建索引,mysql删除索引 1.在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快.今天就简单地给大家演示一下mysql中索引的创建,查 ...
- mysql中索引创建 查看和删除语句_MySQL索引的创建、删除和查看(学习中)
1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有 ...
- mysql中复合主键指什么作用_mysql 为何要设置复合主键
Oracle 不直接支持 自动递增的列. 需要创建一个序列 SEQUENCE. 又由于无法在列的默认值那里,设置默认值为序列.因此只能通过触发器来设置. 设置好触发器以后,所有的插入语句,将忽略外部传 ...
- mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间
为什么80%的码农都做不了架构师?>>> 由于项目需要创建定时器(evevt),所以就百度了一下,发现基本都是来源于一个模板,有些功能还不全,现在自己总结一下. 注:mysql ...
- MYSQL定时创建表分区
MYSQL定时创建表分区 一.存储过程-表分区 ----------------------------------------------------------------- 需求: 每月创建一个 ...
- mysql定时执行存储过程
mysql定时执行存储过程 查看event是否开启: show variables like '%sche%'; 将事件计划开启: set global event_scheduler=1; 关闭事件 ...
- mysql 定时脚本_MySQL定时执行脚本(计划任务)命令实例
在mysql中我们可以直接进行一些参数设置让它成定时为我们执行一些任务了,这个虽然可以使用windows或者linux中的计划任务实现,但是mysql本身也能完成 查看event是否开启 复制代码 代 ...
最新文章
- Pandownload 下线了,我自己花了 30 分钟自己搭建了一个网盘
- 中文语音识别pytorch
- .NET平台开源项目速览(11)KwCombinatorics排列组合使用案例(1)
- wince 6.0 嵌入式开发指导
- gitolite 踩坑记
- ubuntu16.04下面的redis desktop manger的使用
- 在企业中使用的Silverlight:RAD数据通信用户友好的数据库访问
- [Leedcode][JAVA][第199题][二叉树的右视图][BFS][DFS][前中后序遍历]
- python的变量在使用之前是否要进行声明_python – 如何在使用之前测试变量是否已初始化?...
- Flask--网页微信登陆示例
- 获取手机验证码按钮的效果实现
- 【数据库系统概论】基础知识总结
- 干货 | SQL 外部联接 Outer Join
- DB2-HPU(Optim High Performance Unload)简叙及安装使用
- BCD码与十六进制值转换
- 计算机工程学院文艺例会,新学期,新面貌,新起点,新征程——记计算机学院学生会第一次全体例会...
- 使用Arduino制作一款数字键盘安全门锁
- shader基础学习摘要(三)高光反射
- matlab迭代算法实例sor,SOR迭代 - 程序语言 - MATLAB/Mathematica - 小木虫论坛-学术科研互动平台...
- ps制作立体阴影效果