Transaction(트랜잭션) : 한 번에 이루어져야 하는 작업의 논리적인 단위 All or Nothing
전부 되거나 아무것도 되지 않아야 한다.
> 데이터 베이스 확인
show databases;
> 데이터 베이스 생성
create database dxjh;
> 데이터 베이스 사용
use dxjh;
> 데이터 베이스 삭제
drop database dxjh;
> 실습할 테이블 생성
create table jtable1( 컬럼 이름 자료형 컬럼제약조건
....
테이블 제약조건
.... )engine, auto_increment 의 시작 숫자, 인코딩 등을 설정
> 실습 테이블
CREATE table jtable1
(account INT NOT NULL PRIMARY KEY,
balance INT,
j_id CHAR(8),
j_name VARCHAR(10) NOT NULL,
j_number INT NOT NULL,
addr CHAR(2) NOT NULL,
phone1 CHAR(3),
phone2 CHAR(8),
height SMALLINT,
debut_date DATE );
> 데이터 삽입
INSERT INTO jtable1 VALUES(1, 30, 'TWC', '트와이스', 9, '서울', '02', '11111111', 167, '2015.10.19');
INSERT INTO jtable1 VALUES(2, 40, 'BLK', '블랙핑크', 4, '경남', '055', '22222222', 163, '2016.08.08');
INSERT INTO jtable1 VALUES(4, 60, 'OMY', '오마이걸', 7, '서울', NULL, NULL, 160, '2015.04.21');
INSERT INTO jtable1 VALUES(3, 50, 'WMN', '여자친구', 6, '경기', '031', '33333333', 166, '2015.01.15');
INSERT INTO jtable1 VALUES(5, 70, 'GRL', '소녀시대', 8, '서울', '02', '44444444', 168, '2007.08.02');
INSERT INTO jtable1 VALUES(6, 80, 'ITZ', '잇지', 5, '경남', NULL, NULL, 167, '2019.02.12');
> 트랜잭션 취소
- 트랜잭션이 만들어지는 시점으로 이동 (rollback)
rollback;
★★★★★ SQL 성공할 때 마다 자동으로 Commit 실행 되므로 DDL, DCL 시 다른 공간에서 진행하는 것이 안전(?)하다.
ex) 데이터 삽입 후 rollback의 경우 데이터 삽입이 취소 되지만, 데이터 삽입 후 새로운 테이블을 생성 한 후에 rollback을 할 경우 삽입 된 데이터는 취소되지 않고 테이블 생성 이후 단계로 rollback이 진행된다.
(테이블 생성 이전 삽입 한 데이터 조회 가능)
> savepoint 지정
테이블에 2개의 데이터 삽입 후 세이브포인트 지정
INSERT INTO jtable1 VALUES(1, 30, 'TWC', '트와이스', 9, '서울', '02', '11111111', 167, '2015.10.19');
INSERT INTO jtable1 VALUES(2, 40, 'BLK', '블랙핑크', 4, '경남', '055', '22222222', 163, '2016.08.08');
savepoint s1;
다시 2개의 데이터 추가 삽입
IINSERT INTO jtable1 VALUES(3, 60, 'OMY', '오마이걸', 7, '서울', NULL, NULL, 160, '2015.04.21');
INSERT INTO jtable1 VALUES(4, 50, 'WMN', '여자친구', 6, '경기', '031', '33333333', 166, '2015.01.15');
데이터 조회 : 4개의 행
> rollback 명령이 2가지
rollback; - 데이터 0개 조회
rollback to s1; 데이터 2개 조회 ( savepoint 지정 전 입력한 데이터 2행 조회가능 )
'DX Data School' 카테고리의 다른 글
NoSQL (MongoDB) (1) | 2024.01.30 |
---|---|
Windows Function (0) | 2024.01.30 |
[SQL]DDL, DML, DCL, DQL, TCL 개념과 종류 (0) | 2024.01.30 |
1~4주차 복습 (0) | 2024.01.30 |
홈페이지 만들기 (1) | 2024.01.30 |