17、MySQL创建,执行事件
在 MySQL 中,可以通过 CREATE EVENT
语句来创建事件,其语法格式如下:
CREATE EVENT [IF NOT EXISTS](可选,判断事件存在) event_name(必选,指定事件名称)ON SCHEDULE schedule(必选,事件执行时间,间隔)[ON COMPLETION [NOT] PRESERVE](可选,是否循环执行,默认不循环)[ENABLE | DISABLE | DISABLE ON SLAVE](可选,指定事件属性)[COMMENT 'comment'](可选,定义事件注释)DO event_body;(必选,事件启动执行的代码)
从上面的语法可以看出,CRATE EVENT 语句由多个子句组成,各子句的详细说明如下表所示。
在 ON SCHEDULE
( ON SCHEDULE schedule(必选,事件执行时间,间隔)
)子句中,参数 schedule 的值为一个 AT 子句,用于指定事件在某个时刻发生,其语法格式如下:
AT timestamp(具体时间点) [+ INTERVAL interval]...| EVERY(事件指定时间内发生周期) interval[STARTS timestamp [+ INTERVAL interval] ...][ENDS timestamp[+ INTERVAL interval]...]
参数说明如下:
- timestamp:一般用于只执行一次,表示一个具体的时间点,后面加上一个时间间隔,表示在这个时间间隔后事件发生。
- EVERY 子句:用于事件在指定时间区间内每隔多长时间发生一次,其中 STARTS 子句用于指定开始时间;ENDS 子句用于指定结束时间。
- interval:一般用于周期性执行,表示一个从现在开始的时间,其值由一个数值和单位构成。例如,使用“4 WEEK”表示 4周,使用“'1:10’HOUR_MINUTE”表示 1 小时 10 分钟。间隔的长短用 DATE_ADD() 函数支配。
interval 参数可以是以下值:
YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND
一般情况下,不建议使用不标准(以上没颜色)的时间单位。
例 1
在 test 数据库中创建一个名称为 e_test 的事件,用于每隔 5 秒向表 tb_eventtest 中插入一条数据。
创建 tb_eventtest 表,SQL 语句和运行结果如下:
mysql> CREATE TABLE tb_eventtest(-> id INT(11) PRIMARY KEY AUTO_INCREMENT,-> user VARCHAR(20),-> createtime DATETIME);
创建 e_test 事件,SQL 语句和运行结果如下:
mysql> CREATE EVENT IF NOT EXISTS e_test ON SCHEDULE EVERY 5 SECOND-> ON COMPLETION PRESERVE-> DO INSERT INTO tb_eventtest(user,createtime)VALUES('MySQL',NOW());
创建事件后,查询 tb_eventtest 中的数据,SQL 语句和运行结果如下:
mysql> SELECT * FROM tb_eventtest;
+----+-------+---------------------+
| id | user | createtime |
+----+-------+---------------------+
| 1 | MySQL | 2020-05-21 10:41:39 |
| 2 | MySQL | 2020-05-21 10:41:44 |
| 3 | MySQL | 2020-05-21 10:41:49 |
| 4 | MySQL | 2020-05-21 10:41:54 |
+----+-------+---------------------+
从结果可以看出,系统每隔 5 秒插入一条数据,这说明事件创建执行成功了。
例2:
-- 创建事件每隔月12个清空一次charge_log表:
CREATE EVENT IF NOT EXISTS delete_log
ON SCHEDULE
EVERY 12 MONTH STARTS '2020-12-31 23:00:00'
DO
TRUNCATE TABLE charge_log;
例3:
-- 创建事件,每个月月底,把月销置0:
CREATE EVENT IF NOT EXISTS delete_sale
ON SCHEDULE
EVERY 1 MONTH STARTS '2020-06-30 23:50:00'
DO
UPDATE pizza set sale=0;
17、MySQL创建,执行事件相关推荐
- mysql事件计划自动_逐步讲解MySQL中定时事件计划的创建
一.使用过程1.查看当前是否已开启事件计划(调度器)有3种方法: SHOW VARIABLES LIKE 'event_scheduler'; SELECT @@event_scheduler; SH ...
- mysql查看执行计划任务_MySQL_MySQL计划任务(事件调度器) Event Scheduler介绍,要查看当前是否已开启事件调 - phpStudy...
MySQL计划任务(事件调度器) Event Scheduler介绍 要查看当前是否已开启事件调度器,可执行如下SQL: SHOW VARIABLES LIKE 'event_scheduler'; ...
- mysql 创建端口号_MySQL命令行 不同端口登录 执行SQL文件 创建用户 赋予权限 修改root密码...
0.安装MySQL服务 1.[不同端口登录] 通过开始菜单-> 程序-> MySQL-> MySQL Command Line Client 通过输入密码Enter password ...
- 关于mysql触发器的问题:执行事件插入的字段是否一定要满足字段的所有约束条件?
首先是一个product表,如下: mysql> show create table product\G *************************** 1. row ********* ...
- mysql 触发器采坑记录(mysql 触发器采坑记录 由于不了解mysql创建触发器要记录创建者IP,导致更改创建者IP后,触发器不可执行。 当创建触发器(视图、存储过程、函数)时,如果没有)
mysql 触发器采坑记录(语序有点凌乱,回头再整理) 由于不了解mysql创建触发器要记录创建者IP,导致更改创建者IP后,触发器不可执行. 当创建触发器(视图.存储过程.函数)时,如果没有指定创建 ...
- 【文档】七、Mysql Binlog不同事件类型的事件内容
2019独角兽企业重金招聘Python工程师标准>>> 下面主要讲述了每个类型的事件中的固定和可变部分的数据. Start_log_event_v3/START_EVENT_V3 这 ...
- mysql怎么执行任务_Mysql怎么定时执行任务
我想实现每隔30秒执行以下下面sql update userinfo SET endtime=now()WHERE id='155'; 如何让mysql定时执行上面的sql语句呢! 一.查看event ...
- mysql 创建唯一索引_Mysql创建索引
零:文章概要 这篇文章,主要是和大家一起去了解 索引,然后一起使用CREATE INDEX语法给数据库中的表创建一个索引. 一:先拿电话薄做个类比 假如,一个电话薄里面包含了一个城市的所有人的姓名和电 ...
- mysql定时执行存储过程
mysql定时执行存储过程 查看event是否开启: show variables like '%sche%'; 将事件计划开启: set global event_scheduler=1; 关闭事件 ...
最新文章
- Java基础学习总结(16)——Java制作证书的工具keytool用法总结
- 如何将浮点数很好地格式化为String而没有不必要的十进制0?
- 数据中心供配电技术巡展南京站成功举办
- 讲讲排序(C++描述 )
- Java压缩html
- linux降内核版本_ubuntu16.04降级内核版本至3.13.0-85
- Linux命令----rpm
- php函数 call_user_func
- 英文操作系统中的乱码问题及其它
- 创建mysql数据库远程工具连接及ER图工具mysqlWorkbench使用
- AI量化交易(一)——量化交易简介
- 读养生四要有感《慎动篇》
- 电脑桌面打开计算机窗口,电脑怎么打开运行窗口
- 线性方法求欧拉数-POJ2478
- Element ui 组件库 使用技巧。
- win10系统升级没有声音?老司机教你怎么重新安装声卡驱动
- 不能打印机与计算机,电脑打印机无法打印
- python print用法可以不加引号吗_python的print函数不加括号吗
- 个人....LATEX常用数学符号
- python 安卓app 缺点_用python对android APP进行分析2
热门文章
- ML之DTRFRExtraTRGBR:基于四种算法(DT、RFR、ExtraTR、GBR)对Boston(波士顿房价)数据集(506,13+1)进行价格回归预测并对比各自性能
- DL之Yolov3:基于深度学习Yolov3算法实现视频目标检测之对《俄罗斯总统普京对沙特王储摊的“友好摊手”瞬间—东道主俄罗斯5-0完胜沙特》视频段实时检测
- TF之CNN:利用sklearn(自带手写数字图片识别数据集)使用dropout解决学习中overfitting的问题+Tensorboard显示变化曲线
- 1.8 ionic3入门——测滑菜单(side menu)中的界面跳转
- NPOI Excel 导出学习 一 (基础导出)
- springmvc学习笔记(10)-springmvc注解开发之商品改动功能
- AS打开速度慢,AS项目导入慢,新建项目导入慢
- mysql查询时强制区分大小写
- 通过ctrl+r快速启动程序
- Python的数据处理学习(三)