SQL

Scheduled Events

Automating database tasks with schedulers

By TechCoder TeamLast updated: 2026-06-02
In a Nutshell

Automating database tasks with schedulers This hands-on tutorial focuses on practical implementation of scheduled events concepts.

What are Scheduled Events?

Scheduled Events allow you to run SQL code at specific times or intervals, similar to Cron jobs in Linux. They are useful for maintenance tasks like cleaning up logs, archiving data, or generating reports.

[!NOTE] Syntax varies by database. This guide focuses on MySQL Events. (PostgreSQL uses pg_cron extension).

Enabling the Scheduler

In MySQL, ensure the event scheduler is on:

SET GLOBAL event_scheduler = ON;

Creating an Event

CREATE EVENT event_name
ON SCHEDULE query_schedule
DO
  sql_statement;

Example: Daily Cleanup

Delete logs older than 30 days, running every day.

CREATE EVENT ClearOldLogs
ON SCHEDULE EVERY 1 DAY
STARTS '2024-01-01 00:00:00'
DO
  DELETE FROM Logs WHERE LogDate < NOW() - INTERVAL 30 DAY;
sql-create-event

Create Weekly Event

Problem Statement

Create an event named WeeklyStats that runs EVERY 1 WEEK to update the Stats table.

Managing Events

Show Events

SHOW EVENTS;

Disable/Enable Event

ALTER EVENT event_name DISABLE;
ALTER EVENT event_name ENABLE;

Drop Event

DROP EVENT IF EXISTS event_name;