유블로그

[MySQL] Transaction 본문

SQL

[MySQL] Transaction

yujeong kang 2020. 10. 21. 00:23

트랜잭션 : 데이터베이스의 상태를 변화시키는 일종의 작업 단위를 의미

 

create table tc_test
(
	val varchar(10)
);

start transaction;

insert into tc_test
values ('a');

insert into tc_test
values ('b');

insert into tc_test
values ('c');

select *
from tc_test;	-- 이 때는 데이터가 있다

rollback;

select *
from tc_test;	-- 이 때는 데이터가 없다

 

start transaction;

insert into tc_test
values ('a');

insert into tc_test
values ('b');

insert into tc_test
values ('c');

commit;

select *
from tc_test;

truncate tc_test;

: truncate 를 하면 테이블의 데이터를 모두 지운다.

 

 

start transaction;

insert into tc_test
values ('a');

insert into tc_test
values ('b');

insert into tc_test
values ('c');

savepoint f1;

insert into tc_test
values ('d');

insert into tc_test
values ('e');

insert into tc_test
values ('f');

select *
from tc_test;

rollback to f1;

select *
from tc_test;

: savepoint 를 사용하면 그 때의 데이터 상태로 돌아갈 수 있다.

 

 

'SQL' 카테고리의 다른 글

[MySQL] 내장함수 - 숫자, 문자, 날짜, 논리, 그룹  (0) 2020.10.21
SELECT - case, between, is null, like, order by  (0) 2020.10.20
[SQL] SET (집합연산자)  (0) 2020.10.15
[SQL] 집계함수, GROUP BY  (0) 2020.10.15
IN, ANY, ALL  (0) 2020.10.14