본문 바로가기
DBMS

7. DCL : Commit & Rollback

by suehyune12 2022. 3. 8.

DCL : Data Control Language

 

  • COMMIT(확정) 

     작업결과를 물리적 디스크에 저장. mainpulation 작업이 정상적으로 완료

  • ROLLBACK(취소)

     원래의 데이터 상태로 복구

 

 

commit & rollback 그림

 

 


 

phonebook 테이블과 데이터 준비

phonebook 테이블과 데이터 준비

 

  • 기본적으로 MYSQL은 AUTO COMMIT이다
    DML은 실행 즉시 물리적인 데이터에 반영된다.
    COMMIT 을 사용하려면 AUTO COMMIT부터 비활성화 해야한다.

 

현재 AUTO COMMIT  활성화 여부를 알아본다.

SELECT @@autocommit;

(1: 활성화  0: 비활성화)

활성화 

 

 

AUTO COMMIT를 비활성화 시키는 방법

SET autocommit = 0;

SELECT @@autocommit;

 

비활성화

 

phonebook에서 id가 1보다 크면 삭제한다.

 

id가 1보다 크면 삭제

 

1보다 큰 id 삭제된 결과

 

1보다 큰 id 삭제된 결과

삭제한 부분을 다시 복구 하고 싶다면, 

rollback 하기 전까진, 마지막으로 commit 한 지점으로의 복구 가능하다.

rollback;

 

rollback 이용시, 복구 가능

 

작업한 부분을 나눠서 SAVEPOINT A를 저장하고, SAVEPOINT B를 저장하면 각 저장한 부분으로 복구가능

SAVEPOINT

 

'DBMS' 카테고리의 다른 글

9. 그룹 함수 : Aggregate Function  (0) 2022.03.13
8. 단일행 함수 : Single - Row Function  (0) 2022.03.10
6. MySQL : 연산자, ORDER BY  (0) 2022.02.28
5. MySQL : DISTINCT, CONCAT, WHERE  (0) 2022.02.23
4. DBeaver 설치  (0) 2022.02.22