본문 바로가기
MySQL MariaDB/SQL 문법

MariaDB 이벤트 관리:CREATE EVENT

by 쑤- IT, MySQL, MariaDB, DBeaver 2024. 11. 19.

CREATE EVENT 명령어는 MariaDB에서 특정 시간에 SQL 작업을 자동으로 실행하도록 이벤트를 생성하는 기능입니다. 이 명령어는 데이터베이스 관리 효율성을 높이고 작업 자동화를 지원합니다.

활용 사례로는 특정 시간에 한 번 실행하는 단일 이벤트나 일정 주기로 반복 실행되는 이벤트가 있습니다. 예를 들어, "매 시간 테이블 데이터를 업데이트"하는 작업을 자동화할 수 있습니다. 또한 ON COMPLETION 옵션을 활용해 마지막 실행 후 이벤트를 유지하거나 삭제할 수 있습니다.

MariaDB의 CREATE EVENT는 SQL 작업 자동화를 통해 데이터베이스 관리의 효율성을 극대화하는 강력한 도구입니다.

MariaDB 이벤트 관리:CREATE EVENT

목차


1. CREATE EVENT란 무엇인가?

MariaDB의 CREATE EVENT 명령어는 지정된 시간에 SQL 작업을 자동으로 실행하도록 이벤트를 생성하는 강력한 도구입니다. 이를 통해 특정 작업(예: 데이터베이스 업데이트, 데이터 정리)을 자동화할 수 있습니다. 이 기능은 데이터베이스 관리 효율성을 크게 향상시킵니다.


2. CREATE EVENT 구문 및 주요 옵션

기본 구문

CREATE [OR REPLACE] EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE | DISABLE ON SLAVE]
[COMMENT 'comment']
DO sql_statement;
    

[주요 옵션 설명]

  • OR REPLACE: 동일 이름의 이벤트가 이미 존재하면 삭제 후 새로 생성합니다.
  • IF NOT EXISTS: 이벤트가 이미 존재할 경우 오류 대신 경고 메시지를 반환합니다.
  • ON SCHEDULE: 이벤트가 실행될 시점이나 주기를 정의합니다.
  • AT: 특정 시간에 한 번 실행.
  • EVERY: 일정 주기로 반복 실행.
  • ON COMPLETION PRESERVE: 마지막 실행 후 이벤트를 유지하거나 삭제 여부를 설정합니다.
  • ENABLE/DISABLE: 이벤트 활성화 또는 비활성화 설정.

3. CREATE EVENT 활용 사례

단일 실행 이벤트

CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
UPDATE myschema.mytable SET mycol = mycol + 1;
    

생성 후 1시간 뒤 한 번 실행.

주기적 실행 이벤트

CREATE EVENT example
ON SCHEDULE EVERY 1 HOUR
STARTS CURRENT_TIMESTAMP + INTERVAL 1 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 1 WEEK
DO
UPDATE myschema.mytable SET mycol = mycol + 2;
    

매 시간 실행되며, 1일 후 시작하여 1주일 동안 지속.


4. MariaDB 이벤트 관리: ENABLE/DISABLE

  • DISABLE ON SLAVE: 복제 환경에서 이벤트가 슬레이브에서 실행되지 않도록 설정.
  • ALTER EVENT: 기존 이벤트의 상태를 활성화 또는 비활성화.
ALTER EVENT myevent ENABLE;
    

MariaDB의 CREATE EVENT 명령어는 데이터베이스 관리의 자동화와 최적화를 제공합니다. 정확한 시간 설정, 반복 작업 및 관리 옵션을 통해 효율적인 데이터베이스 운영이 가능합니다. 이를 적극 활용하여 데이터베이스 관리를 한 단계 업그레이드하세요!

댓글