返回

Mysql创建事件执行任务

开发工具

MySQL 中,可以通过 CREATE EVENT 语句来创建事件,其语法格式如下:

CREATE EVENT event_name
ON SCHEDULE schedule
DO sql_statement;

其中:

  • event_name:事件的名称。
  • schedule:事件的执行时间表。
  • sql_statement:要在事件执行时执行的 SQL 语句。

1. 创建事件

要创建事件,可以使用以下命令:

CREATE EVENT event_name
ON SCHEDULE
  AT schedule_time
  [EVERY interval]
  [STARTS start_time]
  [ENDS end_time]
  [ON COMPLETION preserve]
DO sql_statement;

其中:

  • schedule_time:事件的执行时间。
  • interval:事件执行的间隔。
  • start_time:事件开始执行的时间。
  • end_time:事件结束执行的时间。
  • preserve:指定在事件执行完成后是否保留事件。
  • sql_statement:要在事件执行时执行的 SQL 语句。

例如,要创建一个名为 my_event 的事件,该事件每隔 1 小时执行一次,并执行 SELECT * FROM table_name 语句,可以使用以下命令:

CREATE EVENT my_event
ON SCHEDULE
  EVERY 1 HOUR
DO
  SELECT * FROM table_name;

2. 修改事件

要修改事件,可以使用以下命令:

ALTER EVENT event_name
ON SCHEDULE
  AT schedule_time
  [EVERY interval]
  [STARTS start_time]
  [ENDS end_time]
  [ON COMPLETION preserve]
DO sql_statement;

其中:

  • event_name:要修改的事件的名称。
  • schedule_time:事件的执行时间。
  • interval:事件执行的间隔。
  • start_time:事件开始执行的时间。
  • end_time:事件结束执行的时间。
  • preserve:指定在事件执行完成后是否保留事件。
  • sql_statement:要在事件执行时执行的 SQL 语句。

例如,要修改名为 my_event 的事件,使其每隔 2 小时执行一次,并执行 SELECT * FROM table_name2 语句,可以使用以下命令:

ALTER EVENT my_event
ON SCHEDULE
  EVERY 2 HOURS
DO
  SELECT * FROM table_name2;

3. 删除事件

要删除事件,可以使用以下命令:

DROP EVENT event_name;

其中:

  • event_name:要删除的事件的名称。

例如,要删除名为 my_event 的事件,可以使用以下命令:

DROP EVENT my_event;

4. 查看事件

要查看事件,可以使用以下命令:

SHOW EVENTS;

这将显示所有事件的列表,包括事件名称、事件状态、事件执行时间表和事件要执行的 SQL 语句。

例如,要查看名为 my_event 的事件,可以使用以下命令:

SHOW EVENTS LIKE 'my_event';

这将显示名为 my_event 的事件的详细信息。