mysql学习心得——事件

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: mysql学习心得——事件 注意:目前对数据库的操作基本都已经用客户端Navicat直接操作了,直接的SQL语句的操作不够简便,为更好的加快学习进度,下文全部用客户端做功能介绍。含义:周期性的执行某一个命令,存储过程或者SQL语句时,需要用到事件功能含义解读:事件多用在对产生数据的及时处理,举例:当库存资源被用户占用,在无法判断用户操作行为的前提下,不能立马释放库存资源,此时在指定时间(比如30分钟)到了的时候可以执行事件处理,及时释放库存资源。

mysql学习心得——事件

注意 :目前对数据库的操作基本都已经用客户端Navicat直接操作了,直接的SQL语句的操作不够简便,为更好的加快学习进度,下文全部用客户端做功能介绍。

含义 :周期性的执行某一个命令,存储过程或者SQL语句时,需要用到事件功能


含义解读 :事件多用在对产生数据的及时处理,举例:当库存资源被用户占用,在无法判断用户操作行为的前提下,不能立马释放库存资源,此时在指定时间(比如30分钟)到了的时候可以执行事件处理,及时释放库存资源。


使用步骤
连接数据库成功后,选择“事件”,单击“新建事件”,此时“SQL预览”里可以看到SQL语法如下:
CREATE EVENT `NewEvent`
ON SCHEDULE AT CURRENT_TIMESTAMP
ON COMPLETION NOT PRESERVE
ENABLE
DO  (一个命令,存储过程或者SQL语句)

语法介绍
DEFINER: 定义事件执行的时候检查权限的用户,比如:licai_test@%,也可以不设置,系统自行判断你登录的数据库用户。


ON SCHEDULE : 定义执行的时间和时间间隔,时间调度分两中AT和EVERY,
     AT:从当前时间(CURRENT_TIMESTAMP)+间隔时间(INTERVAL)后开始  启动这个事件,可选的时间参数有YEAR、 QUARTER(季度)等。
     EVERY:每隔多少时间启动事件,STARTS定义首次开始启动的时间,ENDS定义永久停止事件的时间,时间间隔同AT


ON COMPLETION [NOT] PRESERVE: 定义事件是一次执行还是永久执行,默认为一次执行,即NOT PRESERVE。


ENABLE | DISABLE | DISABLE ON SLAVE: 定义事件创建以后是开启还是关闭,以及在从上关闭。如果是从服务器自动同步主上的创建事件的语句的话,会自动加上DISABLE ON SLAVE。


COMMENT 'comment': 定义事件的注释


举例
CREATE  (DEFINER=`test`@`%` )  EVENT ( `DEAL_ORDER_EVENT`) ON SCHEDULE( EVERY 30 MINUTE STARTS '2016-10-19 09:06:00') ON COMPLETION PRESERVE ENABLE DO( CALL P_DEAL_OVERDUE_ORDER())
解释:括号里的都是参数,可变动;本存储过程的含义是:自2016年10月19日 9时6分开始每隔30分钟执行存储过程 P_DEAL_OVERDUE_ORDER()一遍;


测试适用点:清除测试滞留的垃圾数据时,可以适用事件功能,属于高级技能。
温馨提示:仅支持mysql 5.1及以上版本。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
48 3
|
5月前
|
SQL 关系型数据库 MySQL
关于MySQL数据库的学习指南总结
【6月更文挑战第17天】MySQL是流行的关系型DBMS,适合各种应用。学习要点包括安装配置、数据类型、SQL(如SELECT、INSERT)、关系模型、表设计、SQL查询(如WHERE、ORDER BY)、事务处理、用户管理、性能优化和高级技术如存储过程、触发器。了解ACID特性,使用索引和内存优化提升性能,通过备份恢复确保数据安全。不断学习新技术以提升技能。
91 3
|
26天前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
57 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
27天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
44 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
27天前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
20 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
30天前
|
关系型数据库 MySQL 数据库
mysql关系型数据库的学习
mysql关系型数据库的学习
17 0
|
1月前
|
Kubernetes 关系型数据库 MySQL
k8s学习--利用helm部署应用mysql,加深helm的理解
k8s学习--利用helm部署应用mysql,加深helm的理解
150 0
|
2月前
|
SQL 关系型数据库 MySQL
学习MySQL操作的有效方法
学习MySQL操作的有效方法
43 3
|
2月前
|
SQL 关系型数据库 MySQL
如何学习 MySQL?
如何学习 MySQL?
37 3
|
3月前
|
SQL 关系型数据库 MySQL
学习mysql基础操作
【8月更文挑战第20天】学习mysql基础操作
39 1