数据库事件是根据计划运行的任何任务。也称为“计划的事件”,事件类似于 UNIX 中的 cron 作业或 Windows 任务计划程序的任务,使用数据库的语法和/或命令行界面(CLI)配置计划的事件除外。数据库事件有许多用途,例如优化数据库表、清理日志、对数据进行归档或在非高峰时间生成报表。
在之前关于此主题的文章中,我们学习了如何在 MySQL 数据库中配置事件。今天,我们将使用 Navicat Premium GUI 数据库管理工具调度数据库任务。
Navicat 事件设计器
在 Navicat 数据库管理产品(包括 Navicat Premium)中,事件设计器是处理事件的工具。点击主工具栏上的“事件”按钮即可访问它:
点击“事件”按钮可在对象窗格中打开事件的对象列表。对象窗格工具栏包含三个按钮:“设计事件”、“新建事件”和“删除事件”。如果未定义任何事件,则仅启用“新建事件”按钮。
创建新事件
点击“新建事件”按钮以打开新的无标题“定义”选项卡:
你可以在“定义”选项卡中输入任何有效的 SQL 过程语句。这可以是一个简单的语句,例如“INSERT INTO tbl_users(first_name,last_name)VALUES('Bob','Jones');”,或者它可以是在 BEGIN 和 END 语句分隔符中编写的复合语句。复合语句可以含有声明、循环和其他控制结构语句。
请注意,我们不必编写 CREATE EVENT 代码,因为这是由 Navicat 处理的(我们将在以下部分中看到)。
这是一个在 sakila.actor 表中插入新行的事件定义:
调度事件
Navicat 通过提供用于输入计划细节的表单来减轻设置调度事件的大部分重担。计划表单位于“计划”选项卡上。它支持添加可能包含简单或复杂时间单位的间隔。这是一个简单的例子,它将事件设置为在创建后 5 分钟运行:
这是一个更复杂的事件计划,在 5 分钟后开始,每隔五个半小时持续运行 3 天:
保存事件
若要保存事件,请点击“事件”选项卡上的“保存”按钮。如果你想,可以在保存之前在“SQL预览”选项卡上预览生成的 SQL:
请注意,在预览中该语句是只读的,无法进行编辑。
添加注释
你可以在“注释”选项卡上包含事件的注释。
它通过 COMMENT 子句将注释添加到 CREATE EVENT 语句中:
删除事件
若要删除事件,请在“对象”选项卡中选择它,然后点击“删除事件”按钮。一个警告对话框将弹出,并要求你确认是否要删除事件:
修改事件
若要修改事件,请在“对象”选项卡中选择它,然后点击“设计事件”按钮。这将在事件选项卡中打开它。