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 doesn’t 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, doesn’t exist the query will be ignored.

DROP TABLE IF EXISTS NEW;
Advertisements