본문 바로가기
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 명령어는 데이터베이스 관리의 자동화와 최적화를 제공합니다. 정확한 시간 설정, 반복 작업 및 관리 옵션을 통해 효율적인 데이터베이스 운영이 가능합니다. 이를 적극 활용하여 데이터베이스 관리를 한 단계 업그레이드하세요!

    댓글