MySQL8存储事件 - 全栈教程之MySQL8教程

MySQL8存储事件包含:MySQL8存储事件介绍、MySQL8存储事件教程和MySQL8增删改查存储事件等,全栈教程之MySQL8教程,主打原创、全部免费。

教程目录:
教程内容:
最近更新:2025-03-11

一、MySQL8存储事件介绍

  • MySQL8存储事件是一种存储对象类型,它是根据计划运行的任务。当您创建一个事件时,就是创建一个数据库对象,包含指定的 SQL 语句,这些语句在固定时间间隔内执行,并在特定时间开始和结束,类似于 Linux 的 cron 作业。


1.1、MySQL8存储事件特性

您可以在很多场景下使用MySQL8存储事件,例如优化数据库表、清理日志、归档数据或者生成指定报表等。

  • 存储事件名称唯一,根据时间表执行特定操作;
  • 存储事件默认定义者是创建事件的用户;
  • 存储事件支持指定权限,支持创建、修改和删除等操作。


二、MySQL8存储事件教程

2.1、MySQL8创建存储事件

首先,我们通过编写一个简单的存储事件,来介绍存储事件的语法。

# 创建测试表
create table if not exists `try8_dev` (`try8_id` int, `try8_name` varchar(200));

# 编写一次性的存储事件示例
create event if not exists try8_event on schedule at current_timestamp do
    insert into `try8_dev` (try8_id, try8_name) values(1, now());

# 编写一个循环的存储事件示例,每1分钟执行一次,1小时后过期
create event if not exists try8_event on schedule
every 1 minute
starts current_timestamp
ends current_timestamp + interval 1 hour
do
insert into `try8_dev` (try8_id, try8_name) values(1, now());


编写存储事件关键字说明:

  • create event on schedule:用于创建存储事件,该关键字后面指定名称;
  • every 1 minute:执行方式,如每分钟一次;
  • starts:开始时间;
  • ends:结束时间;
  • do:需要执行的 SQL 正文。


2.2、MySQL8启用调度线程

# 查看线程状态
show processlist;
# 启用存储事件的调度程序线程
set global event_scheduler = on;
# 关闭存储事件的调度程序线程,所有的事件都不会执行
set global event_scheduler = off;


2.3、MySQL8查看存储事件

# 根据事件名查询
show create event try8_event;
# 使用系统表查询
select * from information_schema.events where event_name = 'try8_event';


2.4、MySQL8删除存储事件

drop event if exists try8.try8_event;


2.5、MySQL8修改存储事件

# 修改存储事件
alter event try8_event on schedule at current_timestamp do
    insert into `try8_dev` (try8_id, try8_name) values(1, now());
# 禁用存储事件
alter event try8_event disable;
# 激活存储事件
alter event try8_event enable;
# 重命名存储事件
alter event try8_event rename to try8_event_new;


三、MySQL8存储事件总结

  • MySQL8教程 - MySQL8存储事件,介绍MySQL和MySQL8数据库,从MySQL8存储事件概念开始,逐步到MySQL8存储事件示例等,通篇实用易懂,让MySQL8入门更加快速和简单。


小提示:试试吧全栈教程之MySQL8教程,主打原创,定期更新,全部免费,欢迎收藏学习和转载分享。