MySQL定时器十例演示
MySQL定时器十例演示
查看MySQL的版本号:
创建一个记录时间表
实例一:
查看MySQL的当前时间并且创建一个定时器,每20秒中插入一次当前的时间
查看MySQL当前时间:
mysql> select now();
等待20秒钟后,再执行查询成功。
实例二:
创建一个定时器test01,当前时间2分钟后写入数据到test01_lastmonth表,并且清空test01表:
**经测试
是新建了一个表test01_lastmonth,但是test01表没有被清空,并且一直在写入数据。说明上述的sql语句的写法是有问题的。
**
于是采用下面的写法是正确的。于是得出结论:采用下面的写法定时器是可以同时添加多条sql语句作为计划任务来执行的
此实例演示过程如下:
此时查看新表还没被创建,旧表test01数据还没被清空
此时查看新表被创建,旧表test01数据被清空,并且已经插入一条数据
提示:旧表test01已经被清空了,但是之前的计划事件e_test_insert每20秒插入一条记录到test01表仍然在继续执行
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
再次总结测试实例二:
此时新表已经创建并且旧表test01数据被清空:
此时被清空的旧表test01 20秒后已经开始插入数据了
提示:旧表test01已经被清空了,但是之前的计划事件e_test_insert每20秒插入一条记录到test01表仍然在继续执行
实例三:定时每天的某个时间点来清空表test03
定时每天的上午10:45:00清空表test03
定时每天的下午18:00:00清空表test03
实例四:定时每天的上午11:00:00清空表test01
实例五:
** 2018年7月20日12点整清空aaa表:**
实例六:
5天后开启每天定时清空aaa表:
实例七:
每天定时清空test表,5天后停止执行:
CREATE EVENT e3_test
ON SCHEDULE EVERY 1 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO TRUNCATE TABLE test.aaa;
实例八:
5天后开启每天定时清空test表,一个月后停止执行:
实例九:
每天定时清空test表(只执行一次,任务完成后就终止该事件):
实例十:
将每天清空test表改为5天清空一次: