⏰ EVENT no SQL

Introdução

O recurso EVENT do MySQL permite criar tarefas automáticas que são executadas em determinados horários ou intervalos de tempo.

Ele funciona como um agendador interno do banco de dados, semelhante ao Agendador de Tarefas do Windows ou ao CRON do Linux.

📌 EVENT executa comandos SQL automaticamente em horários programados.

Como funciona um EVENT?

  1. O evento é criado no banco.
  2. É definido quando será executado.
  3. O MySQL aguarda o horário configurado.
  4. Os comandos SQL são executados automaticamente.

Habilitando o Agendador de EVENT

Primeiro é necessário verificar se o agendador está ativo.


SHOW VARIABLES LIKE 'event_scheduler';
          

Para ativar:


SET GLOBAL event_scheduler = ON;
          

Sintaxe Básica


CREATE EVENT nome_evento

ON SCHEDULE

tempo_execucao

DO

comando SQL;
          

EVENT executando uma vez

Podemos criar um evento que executa apenas uma vez.


CREATE EVENT remover_logs

ON SCHEDULE

AT '2026-08-01 00:00:00'

DO

DELETE FROM logs;
          

EVENT recorrente

Eventos também podem executar automaticamente em intervalos definidos.


CREATE EVENT atualizar_relatorio

ON SCHEDULE

EVERY 1 DAY

DO

CALL gerar_relatorio();
          

Intervalos disponíveis

Intervalo Exemplo
SECOND A cada segundos
MINUTE A cada minutos
HOUR A cada horas
DAY Diariamente
MONTH Mensalmente

Exemplo: Limpeza automática

Remover registros antigos automaticamente.


CREATE EVENT limpar_logs

ON SCHEDULE

EVERY 7 DAY

DO

DELETE FROM logs

WHERE data < NOW() - INTERVAL 30 DAY;
          

Consultar EVENTs criados


SHOW EVENTS;
          

Alterar um EVENT


ALTER EVENT nome_evento

ON SCHEDULE

EVERY 1 MONTH;
          

Excluir um EVENT


DROP EVENT nome_evento;
          

EVENT x TRIGGER

EVENT TRIGGER
Executa por horário Executa por ação
Baseado em calendário Baseado em INSERT, UPDATE e DELETE
Automação programada Automação por evento

Aplicações no Mundo Real

Sistema Aplicação
E-commerce Atualização automática de preços
Banco Processamentos noturnos
ERP Geração de relatórios
Empresas Limpeza de dados antigos

Cuidados com EVENT

Cuidado Motivo
Muitos eventos Pode consumir recursos
Comandos pesados Pode afetar desempenho
Falta de documentação Dificulta manutenção
Horários incorretos Executa processos errados

Boas Práticas

Resumo da Aula

🎓 Parabéns! Você concluiu as 100 aulas do curso de Banco de Dados MySQL.

🚀 Agora você conhece desde conceitos básicos até recursos avançados como VIEW, PROCEDURE, FUNCTION, TRIGGER e EVENT.