pbj0812의 코딩 일기

[SQL] MySQL 이벤트를 통한 데이터 삭제 / 삽입 본문

ComputerLanguage_Program/SQL

[SQL] MySQL 이벤트를 통한 데이터 삭제 / 삽입

pbj0812 2021. 3. 26. 02:03

0. 목표

 - MySQL 이벤트를 통한 데이터 삭제 / 삽입

1. Flow Chart

 - 프로시저 / 이벤트를 통하여 주기적으로 데이터를 삭제하고 채움

2. 실습

 1) 테이블 생성

CREATE TABLE pbj_db.sp_test
(
	datetime datetime
) ENGINE = INNODB;

 2) 프로시저 생성

DELIMITER $$
CREATE PROCEDURE pbj_db.what_time_is_it_now()
BEGIN
	# 지우기
    DELETE FROM pbj_db.sp_test;
    # 넣기
    INSERT INTO pbj_db.sp_test(datetime) (
		SELECT NOW()
    );
END $$
DELIMITER ;

 3) 프로시저 테스트(실행)

CALL pbj_db.what_time_is_it_now();

 4) 데이터 확인

SELECT * FROM pbj_db.sp_test;

 5) 이벤트 생성

 - 10초마다 실행

CREATE EVENT pbj_db.test_sp
	ON SCHEDULE EVERY 10 SECOND
	DO
		CALL what_time_is_it_now();

 6) 데이터 확인

SELECT * FROM pbj_db.sp_test;

  - 시작

  - 10초 뒤 재실행

 7) 이벤트 확인

SHOW CREATE EVENT pbj_db.test_sp;

 8) 이벤트 삭제

DROP event pbj_db.test_sp;

 9) 프로시저 삭제

DROP PROCEDURE pbj_db.what_time_is_it_now;

3. 참고

 - MySQL Event 확인하기

Comments