MySOL中Event用法详解,零基础快速入门必看

一、Event概念

Event即事件,也是一种数据库对象,又叫时间触发器或者事件调度器,与triggers的事件触发不同,tiggers会因为update、delete、insert等事件触发,而event类似与linux crontab计划任务,用于时间触发,当到了设定执行时间时,系统会触发相关的SQL语句或存储过程,相当于我们给存储过程创建了定时任务。

▲ 适用范围:对于每隔一段时间就有固定需求的操作,如创建表,删除数据、插入数据,修改数据等操作,可以使用event来处理。

▲ 例如:在每月的1日凌晨1点自动创建下个月需要使用的三张表;在每月第一天时查询汇总上月商品的销售汇总信息,然后将这些信息插入到汇总信息表里。这些情况都可以使用event来处理。

二、Event创建语法

CREATE Event [IF NOT EXISTS] event_name — 创建使用create event

ON SCHEDULE schedule — on schedule 什么时候来执行,执行频率

[ON COMPLETION [NOT] PRESERVE] — 调度计划执行完成后是否还保留

[ENABLE | DISABLE] — 是否开启事件,默认开启

[COMMENT ‘comment’] — 事件的注释

DO event_body; — 这个调度计划要做什么?

创建语法中[ ]里的内容是可以省略的。

[IF NOT EXISTS]如果新建的event_name系统里不存在,则创建一个新的,如果已经存在了,则提示已经存在。如果省略的话,系统里不存在新的event_name则创建成功,如果已经存在了,会保存。

[ON COMPLETION [NOT] PRESERVE 如果带了not当事件执行完后,就自动删除,不保留事件。如果不加not事件执行完会保留下来,该项不写的时候,默认是执行完事件保留下来。

[ENABLE | DISABLE]ENABLE时事件开启,当到了事件执行时间,系统会自动执行event_body里定义的语句,如果设置的是DiSABLE则事件关闭,到了执行时间,事件也不会执行。该项没有设置时,默认为事件开启。

[COMMENT ‘comment’]comment是事件注释,对事件进行解释说明。

event_body事件主体,可以是单条DML语句,可以是多条DML语句,多条时需要写在begin……end之间,也可调用存储过程。

三、执行时间说明

执行时间说明:

1.单次计划:

在2019年2月1日4点执行一次

on schedule at ‘2019-02-01 04:00:00’

2. 重复计划

on schedule every 1 second 每秒执行一次

on schedule every 1 minute 每分钟执行一次

也可以是hour、day、week、month、year

3.指定开始时间的重复计划

每天在20:00:00执行一次

on schedule every 1 day starts ‘2021-6-16 20:00:00′

四、如何查看Event

● 查看有哪些event

Show events; 或者通过Select *from information_schema.events;

● 查看event具体内容

SHOW CREATE EVENT event_name1;

● 删除event

DROP EVENT event_name;

● 修改event

可以先删除,再重新创建
也可以ALTER EVENT event_name …… 省略号后边的内容和创建event一样

五、实例

先创建一个表student_bak,用此表来备份student表的数据;

createtable student_bak select*from student;

接着,我们创建存储过程student_bak_pro,用来备份student表中的最新数据

CREATE DEFINER=`root`@`localhost` PROCEDURE `student_bak_pro`()
BEGIN
insertinto student_bak select*from student t wherenot EXISTS (select*from student_bak t1 where t1.sno=t.sno);
COMMIT;
END

然后,我们再创建event,让系统每3秒自动执行以下存储过程student_bak_pro

CREATE Event student_bak_event
ON SCHEDULE every 3 second
ON COMPLETION PRESERVE
DO call student_bak_pro();

最后,我们给student表新插入三条条数据,然后我们去观察student_bak表里数是不是也插入了最新的数据。

INSERTINTO student VALUES(2008063,'Penqun63','男',12,'2009-02-24',NULL)(2008064,'Penqun63','男',12,'2009-02-24',NULL)
(2008065,'Penqun65','男',12,'2009-02-24',NULL);

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/225619.html<

(0)
管理的头像管理
上一篇2025-04-16 23:53
下一篇 2025-04-16 23:54

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注