DML(Data Manipulation Lanaguage)
= 데이터 조작어
- select : 데이터 조회
- insert : 데이터 삽입
- update : 데이터 수정
- delete : 데이터 삭제
DDL(Data Definition Language)
= 데이터 정의어
: 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어
- create : DB, 테이블 등 객체 생성
- alter : 테이블 구조 수정
- drop : DB, 테이블 등 객체 삭제
- rename: DB의 객체 이름 변경
- comment : 데이터에 주석 등 추가
- truncate : 테이블 초기화(테이블에 할당된 모든 공간을 포함한 모든 레코드 제거)
DCL(Data Control Language)
= 데이터 제어어
: DB에 접근하고, 객체들을 사용 권한에 대한 명령어
- grant : 특정 DB 사용자에게 특정 작업에 대한 수행권한 부여
- revoke : 특정 DB 사용자에게 특정 작업에 대한 수행권한 박탈, 회수
TCL(Transaction Control Language)
= 트랜잭션 제어어
: 논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어
- commit : 트랜잭션 작업 결과를 저장 반영(트랜잭션 완료)
- rollback : DB를 마지막 commit된 시점의 상태로 복원(복구), 데이터에 대한 변경 내용은 논리적인 트랜잭션으로 그룹화 가능
- savepoint : savepoint를 정의하면, rollback할 때, 트랜잭션에 포함된 전체 작업을 rollback하는 것이 아니라, 현 시점에서 savepoint까지의 트랜잭션만 rollback함
// savepoint를 지정하는 경우, 실패한 부분에 대해서만 다시 실행할 수 있음
// 多개의 savepoint 저장 가능
// 동일 이름으로 savepoint를 정의한 경우, 나중에 정의한 savepoint로 rollback이 수행됨