Resumo : neste tutorial você aprenderá como usar a DROP EVENT
instrução MySQL para remover um ou mais eventos do banco de dados.
Introdução à instrução MySQL DROP EVENT
A DROP EVENT
instrução permite remover um ou mais eventos agendados do agendador de eventos MySQL.
Aqui está a sintaxe básica da DROP EVENT
instrução:
DROP EVENT [IF EXISTS] event_name [, event_name] ...;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
IF EXISTS
: uma cláusula opcional que evita a ocorrência de um erro se o evento especificado não existir.event_name
: o nome do evento que você deseja descartar. Você pode especificar vários eventos, separados por vírgulas.
Observe que você pode usar o curinga % no nome do evento para remover todos os eventos que correspondam a um padrão específico.
Para realizar a DROP EVENT
instrução, é necessário ter EVENT
privilégio no banco de dados ao qual o evento pertence.
Exemplo de instrução MySQL DROP EVENT
Mostraremos como criar um evento e removê-lo usando a DROP EVENT
instrução.
Primeiro, crie um novo banco de dados mydb
e uma nova tabela event_logs
:
CREATE DATABASE IF NOT EXISTS mydb;
USE mydb;
CREATE TABLE IF NOT EXISTS event_logs (
id INT AUTO_INCREMENT PRIMARY KEY,
message VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Segundo, crie um evento chamado log_writter
que grave uma mensagem na event_logs
tabela a cada segundo a partir do carimbo de data/hora atual dentro de uma hora:
CREATE EVENT log_writter
ON SCHEDULE EVERY 1 SECOND
STARTS CURRENT_TIMESTAMP
ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
INSERT INTO event_logs(message)
VALUES (CONCAT('Event executed at ',NOW()));
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo:
log_writer
é o nome do evento.- O evento está programado para ser executado a cada segundo dentro de uma hora a partir do carimbo de data/hora atual
- O evento insere uma mensagem na
event_logs
tabela.
Terceiro, mostre o evento para confirmar se ele foi criado com sucesso:
SHOW EVENTS\G
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
*************************** 1. row ***************************
Db: mydb
Name: log_writter
Definer: root@localhost
Time zone: SYSTEM
Type: RECURRING
Execute at: NULL
Interval value: 1
Interval field: SECOND
Starts: 2024-01-05 13:55:55
Ends: 2024-01-05 14:55:55
Status: ENABLED
Originator: 1
character_set_client: cp850
collation_connection: cp850_general_ci
Database Collation: utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
Linguagem de código: CSS ( css )
Terceiro, remova o log_writter
evento usando a DROP EVENT
instrução:
DROP EVENT IF EXISTS log_writter;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Por fim, verifique a remoção do evento exibindo a lista de eventos:
SHOW EVENTS;
Saída:
Empty set (0.00 sec)
Linguagem de código: JavaScript ( javascript )
A saída indica que o evento foi removido com sucesso.
Resumo
- Use
DROP EVENT
a instrução MySQL para remover um evento do banco de dados.