Mysql的event schedule可以让你设置你的mysql数据库在某个时间段执行你想要的动作
create event test1
on schedule every 1 day
starts '2007-09-01 12:00:00'
on completion not preserve
do insert into yyy values('hhh','uuu');
create event test
on schedule at '2007-09-01 12:00:00' + interval 1 day
on completion not preserve
do insert into yyy values('hhh','uuu')
解释:从2007年9月1日开始,每天对表yyy在12:00:00进行插入操作,并且只执行一次.
使用这个功能之前必须确保event_scheduler已开启,可执行
set global event_scheduler=1;
set global event_scheduler=on;
来开启,也可以直接在启动命令上加上--event_scheduler=1.例如:
mysqld...--event_scheduler=1
另外也可以直接在mysql.ini或者mysql.cnf中添加
event_scheduler=1
要查看当前是否已经开启时间调度器,可以执行如下sql:
show variables like 'event-scheduler';
或者
select @@event_scheduler;
或者show processlist;
二,创建时间(create event)
create event [if not exists] event_name
on schedule
[on completion[not] preserve]
[enable|disable]
[comment 'comment']
do sql_statement;
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}
1)首先来看一个简单的例子来演示每秒插入一条记录到数据表:
use test
create table aaa(timeline timestamp);
create event e_test_insert
on schedule every 1 second
do insert into test.aaa values(current_timestamp);
等待三秒,再执行查询看看:
mysql>select * from test.aaa;
就可以看到有三条数据存在
2)5天后清空aaa表:
create event e_test
on schedule at current_timestamp+interval 5 day
do truncate table test.aaa;
3)2007年7月20日12点整清空aaa表:
create event e_test
on schedule at timestamp '2007-07-20 12:00:00'
do truncate table test.aaa;
4)每天定时清空aaa表:---执行之后,是指每天当前创建时间执行该event
create event e_test
on schedule every 1 day
do truncate table test.aaa;
5)5天后开启每天定时清空aaa表:
create event e_test
on schedule every 1 day
starts current_timestamp +interval 5 day
do truncate table test.aaa;
6)每天定时清空aaa表,5天后停止执行:
create event e_test
on schedule every 1 day
ends current_timestamp + interval 5 day
do truncate table test.aaa;
7)5天后开启每天定时清空aaa表,一个月后停止执行
create event e_test
on schedule every 1 day
starts current_timestamp + interval 5 day
ends current_timestamp + interval 1 month
do truncate table test.aaa;
 三,修改事件(alter event)
alter event event_name
[on schedule schedule]
[rename to new_event_name]
[on completion [not] preserve]
[comment 'comment']
[enable|disable]
[do sql_statement]
1)临时关闭事件
alter event e_test disable
2)开启事件
alter event e_test enable
3)将每天清空aaa表修改成每5天清空一次
alter event e_test
on schedule every 5 day;
四,删除事件(drop event)
语法很简单,如下所示:
drop event [if exists] event_name
例如删除前面创建的e_test事件
drop event e_test
当前前提是这个事件存在,否则会产生error 1513(HY000):unknown event错误,因此最好加上if exists
drop event if exists e_test
另外当在my.ini或者my.cnf中添加了event_scheduler=1参数,那么在mysql启动之后,存在的event还是会继续运行.
最新内容请见作者的GitHub页:http://qaseven.github.io/

Mysql中Event的一些测试相关推荐

  1. MySQL中Event事件的执行记录查询

    以前也整理过多次,但不便于查找,今重点对Event的执行记录查询进行整理记录: 1.查看是否开启事件调度器: [方式一] SELECT @@event_scheduler; [方式二] SHOW VA ...

  2. mysql中去重的用法_mysql中去重 distinct 用法

    在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...

  3. MySQL中MyISAM引擎与InnoDB引擎性能简单测试

    转自:http://blog.csdn.net/heiyeshuwu/archive/2007/04/10/1559640.aspx [硬件配置] CPU : AMD2500+ (1.8G) 内存: ...

  4. 一文详解MySQL中的事件调度器EVENT

    MySQL中的事件调度器,EVENT,也叫定时任务,类似于Unix crontab或Windows任务调度程序. EVENT由其名称和所在的schema唯一标识. EVENT根据计划执行特定操作.操作 ...

  5. MySQL中MyISAM引擎与InnoDB引擎性能简单测试[转]

    MySQL中MyISAM引擎与InnoDB引擎性能简单测试 [硬件配置] CPU : AMD2500+ (1.8G) 内存: 1G/现代 硬盘: 80G/IDE [软件配置] OS : Windows ...

  6. MySQL中的几类日志文件介绍

    MySQL中的几类日志文件介绍 关于Mysql日志 splunk内置了两种mysql的日志,分别是mysqld以及mysql_error mysqld_error Standard mysql err ...

  7. MySQL中的备份和恢复

    如何用mysql 命令进行备份和恢复?以test 库为例,创建一个备份,并再用此备份 进行恢复. mysqldump -u root -p test > test.sql mysql -u ro ...

  8. MySQL中基于XA实现的分布式事务

    文章目录 一.前言 二.XA基础 2.1 XA基础知识 2.1.1 DTP是什么? 2.1.2 DTP的结构:AP TM RM(重点001) 2.1.3 DTP的重要概念 2.2 XA事务:基于两阶段 ...

  9. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

最新文章

  1. 程序员裸辞求夸,众网友上演大型夸夸秀现场:楼主好样的
  2. 物联网安全的后备计划是什么?
  3. linux的每次IO大小控制,linux文件io缓冲
  4. 《http权威指南》阅读笔记(十二)
  5. linux 知识点 随笔
  6. 学习C++ - 类(Classes)的定义与实现
  7. python search函数 中文_python使用正则表达式的search()函数实现指定位置搜索功能...
  8. Asp.net MVC4 Knockoutjs BootStrap Ace NinJect Jqgrid sqlserver2008
  9. 拼多多上架专供湖北平价口罩 每天300万只
  10. 【中级02】Java Class字节码文件底层逻辑详解
  11. IKONS – 赞!264 款手工打造的免费矢量图标
  12. Jboss 安装配置
  13. thinkpad重装系统不引导_不重装系统修改引导方式为UEFI模式
  14. firebug2.0.7 下载
  15. 抽象代数笔记-群、子群、商群
  16. saltstack自定义returner之利用fluent+mysql进行结果收集
  17. 百度地图多点路线规划_期待已久的多地点路线规划功能
  18. python turtle工具绘制四叶草
  19. go get connectex: A connection attempt failed because the connected party did not properly respond
  20. 深度剖析channel

热门文章

  1. selenium上传文件方法
  2. 使用MATLAB绘制周期信号的,周期信号频域分析及MATLAB实现.ppt
  3. 翻转课堂实践:让学生转换角色试一试
  4. Java Web学习笔记05:状态管理
  5. 安卓案例:利用SQLiteDatabase操作数据库与表
  6. QT中让窗口屏幕居中的方法
  7. 2017.5.29-6.3 城市规划 思考记录(非常不容易)
  8. 2017.5.9 积木大赛 思考记录
  9. 2017.4.5 假期的宿舍 思考记录
  10. python endswith函数_Python Pandas Series.str.endswith()用法及代码示例