1. commit &  rollback
- DCL : Data Control Language
 
- commit : 작업결과를 물리적 디스크에 저장.  manipulation 작업이 정상적으로 완료
 
- rollback : 원래의 데이터 상태로 복구
 
DESC phonebook;
SELECT * FROM phonebook ;
 
DROP TABLE IF EXISTS phonebook;
 
CREATE TABLE phonebook(
    id int PRIMARY KEY AUTO_INCREMENT,
    name varchar(80) NOT NULL,
    phonenum varchar(20) DEFAULT '010-0000-0000',
    email varchar(100),
    regdate datetime DEFAULT now()
);
 
INSERT INTO phonebook (name, phonenum, email)
	VALUES
		('아이언맨', '111-111-1111', 'ironman@mail.com')
		, ('캡틴아메리카', '222-222-2222', 'captain@mail.com')
		, ('토르', '3333-3333-333', 'thor@gmail.com')
		;
 
	
SELECT @@autocommit;	
SET @@autocommit = 0;	
SELECT * FROM phonebook;
DELETE FROM phonebook WHERE id > 20;
ROLLBACK;
INSERT INTO phonebook (name, phonenum, email)
VALUES ('헐크', '4444-4444', 'hulk@incredible.com');
SELECT * FROM phonebook;
SAVEPOINT A;	
UPDATE phonebook SET name = '블랙위도우' WHERE name = '캡틴아메리카';
SAVEPOINT B;
SELECT * FROM phonebook;
DELETE FROM phonebook WHERE regdate < '2022-03-19';
SELECT * FROM phonebook;
ROLLBACK TO SAVEPOINT B;
ROLLBACK TO SAVEPOINT A;
SELECT * FROM phonebook;
COMMIT;	
SET @@autocommit = 1;


