MySQL의 이벤트는 일정에 따라 실행되는 작업입니다. 일상적인 데이터베이스 유지 관리를 자동화하거나 특정 시간에 특정 작업을 수행하는 데 유용합니다. 이벤트는 데이터 조작 또는 데이터 정의 문과 같은 SQL 문을 실행할 수 있습니다.
MySQL에서 이벤트를 예약하려면 CREATE EVENT
문을 사용할 수 있습니다. 이벤트를 실행하려면 이벤트 스케줄러를 활성화해야합니다. 다음 SQL 명령을 사용하여 이벤트 스케줄러를 확인하고 활성화 할 수 있습니다.
<code class="sql">SHOW VARIABLES LIKE 'event_scheduler'; SET GLOBAL event_scheduler = ON;</code>
이벤트 스케줄러가 활성화되면 특정 시간 또는 간격으로 실행되는 이벤트를 만들 수 있습니다. 이벤트 일정을 예약하기위한 기본 구조에는 이벤트 이름, 일정 및 실행중인 SQL 문을 지정하는 것이 포함됩니다.
MySQL에서 이벤트를 만들기위한 일반적인 구문은 다음과 같습니다.
<code class="sql">CREATE EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE | DISABLE ON SLAVE] [COMMENT 'comment'] DO sql_statement;</code>
여기에서 event_name
은 이벤트의 이름이며, schedule
이벤트가 언제 및 얼마나 자주 실행되어야하는지 정의합니다. ON COMPLETION [NOT] PRESERVE
이벤트가 마지막 실행을 완료 한 후 이벤트가 삭제되어야하는지 여부를 지정합니다 ENABLE | DISABLE | DISABLE ON SLAVE
이벤트의 초기 상태를 결정하고, COMMENT
이벤트에 대한 선택적인 의견이며, sql_statement
이벤트가 실행할 SQL 코드입니다.
schedule
다음과 같은 다양한 방식으로 정의 될 수 있습니다.
AT 'YYYY-MM-DD HH:MM:SS'
EVERY interval STARTS 'YYYY-MM-DD HH:MM:SS' ENDS 'YYYY-MM-DD HH:MM:SS'
예를 들어, 매일 오전 2시에 실행되는 이벤트를 만들려면 이전 기록을 정리합니다.
<code class="sql">CREATE EVENT clean_old_records ON SCHEDULE EVERY 1 DAY STARTS '2023-01-01 02:00:00' DO DELETE FROM logs WHERE timestamp </code>
MySQL에서 예정된 이벤트를 수정하려면 ALTER EVENT
문을 사용할 수 있습니다. 이를 통해 스케줄, 실행될 SQL 문 또는 이벤트의 다른 속성을 변경할 수 있습니다. 기본 구문은 다음과 같습니다.
<code class="sql">ALTER EVENT event_name ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [RENAME TO new_event_name] [ENABLE | DISABLE | DISABLE ON SLAVE] [COMMENT 'comment'] DO sql_statement;</code>
예를 들어, clean_old_records
이벤트의 일정을 변경하려면 매일이 2 일마다 실행됩니다.
<code class="sql">ALTER EVENT clean_old_records ON SCHEDULE EVERY 2 DAY STARTS '2023-01-01 02:00:00';</code>
예정된 이벤트를 삭제하려면 DROP EVENT
문을 사용하십시오. 구문은 다음과 같습니다.
<code class="sql">DROP EVENT [IF EXISTS] event_name;</code>
예를 들어, clean_old_records
이벤트를 삭제하려면 :
<code class="sql">DROP EVENT clean_old_records;</code>
MySQL에서 이벤트를 사용할 때 명심해야 할 몇 가지 제한 사항과 고려 사항이 있습니다.
이러한 제한 사항과 고려 사항을 이해함으로써 MySQL에서 이벤트를보다 효과적으로 사용하여 작업을 자동화하고 데이터베이스를 효율적으로 유지할 수 있습니다.
위 내용은 MySQL의 이벤트는 무엇입니까? 어떻게 예약합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!