MySQL - DROP EVENT Statement



MySQL DROP EVENT Statement

A MySQL Event is nothing but a task that execute at a particular schedule. An event can contain one or more MySQL statements these statements are stored in the databases and gets executed at the specified schedule.

The DROP EVENT statement is used to delete an existing event.

Syntax

Following is the syntax to create a table in MySQL −

DROP EVENT event_name;

Where, event_name is the name of the event you need to delete.

Example

Assume we have created a table with name data using the CREATE TABLE statement as shown below −

CREATE TABLE Data (Name VARCHAR(255), age INT);

Following queries creates two events with names example_event and event_hourly it inserts a record in the above created table one minute after the execution −

CREATE EVENT example_event ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 Hour DO INSERT INTO new.Data VALUES('Rahman', 25); CREATE EVENT event_hourly ON SCHEDULE EVERY 1 MONTH DO TRUNCATE TABLE data;

The SHOW EVENTS statement lists out all the (upcoming) events.

SHOW EVENTS\G;

Output

The above query produces the following output −

************* 1. row ************* Db: test Name: event_hourly Definer: root@localhost Time zone: SYSTEM Type: RECURRING Execute at: NULL Interval value: 1 Interval field: MONTH Starts: 2023-12-05 14:51:03 Ends: NULL Status: ENABLED Originator: 1 character_set_client: cp850 collation_connection: cp850_general_ci Database Collation: utf8mb4_0900_ai_ci ************* 2. row ************* Db: test Name: example_event Definer: root@localhost Time zone: SYSTEM Type: ONE TIME Execute at: 2023-12-05 15:50:55 Interval value: NULL Interval field: NULL Starts: NULL Ends: NULL Status: ENABLED Originator: 1 character_set_client: cp850 collation_connection: cp850_general_ci Database Collation: utf8mb4_0900_ai_ci ************* 3. row ************* Db: test Name: new_event_name Definer: root@localhost Time zone: SYSTEM Type: RECURRING Execute at: NULL Interval value: 1 Interval field: MONTH Starts: 2023-12-04 14:08:03 Ends: NULL Status: ENABLED Originator: 1 character_set_client: cp850 collation_connection: cp850_general_ci Database Collation: utf8mb4_0900_ai_ci

Following query drops the above created events

DROP EVENT event_hourly; DROP EVENT example_event;

Verification

After deletion if you verify the list of events using the SHOW EVENTS statements you will get an empty set as shown below −

SHOW EVENTS; Empty set (0.00 sec)

The IF EXISTS clause

If you try to drop an event that doesnt exist, an error will be generated.

DROP EVENT NEW;

The above query will generate the following error −

ERROR 1539 (HY000): Unknown event 'NEW'

If you use the IF EXISTS clause along with the DROP EVENT statement as shown below, the specified EVENT will be dropped and if a EVENT with the given name, doesnt exist the query will be ignored.

DROP TABLE IF EXISTS NEW;
Advertisements