SQL

관리 구문 DML과 TCL

피갓자 2025. 3. 10. 09:00

관리 구문 DML과 TCL
관리 구문 DML과 TCL

DML

데이터 조작 언어(DML, Data Manipulation Language)로 DDL에서 정의한 대로 데이터를 삽입하고, 삽입된 데이터를 수정, 삭제, 조회하는 명령어

INSERT

데이터를 삽입할 때 사용하는 명령어

INSERT INTO 테이블명(컬럼명1, 컬럼명2, ...)
VALUES (데이터1, 데이터2, ...);
  • 속성과 데이터 개수, 데이터 타입이 일치해야 함
  • 속성명은 생략 가능
  • 속성의 타입이 숫자이면 데이터는 따옴표를 붙이지 않아도 되며, 문자열이면 따옴표를 붙여야 함

UPDATE

데이터를 수정할 때 사용하는 명령어

UPDATE 테이블명
SET 컬럼명 = 데이터, ...
WHERE 조건;
  • WHERE 절을 통해 어떤 조건이 만족할 때만 특정 컬럼의 값을 수정하는 용도로 자주 사용됨

DELETE

데이터를 삭제할 때 사용하는 명령어

DELETE FROM 테이블명
WHERE 조건;
  • 모든 레코드를 삭제할 때는 WHERE 절 없이 DELETE만 사용
  • 레코드를 삭제해도 테이블 구조는 남아 있어서 디스크에서 테이블을 완전히 삭제하는 DROP 명령과는 다름

MERGE

새로운 데이터를 삽입하거나 삽입된 데이터에 대한 변경 작업을 한 번에 할 수 있도록 해주는 명령어

MERGE
 INTO 타겟 테이블명
USING 비교 테이블명
   ON 조건
WHEN MATCHED THEN
     UPDATE
        SET 컬럼명 = 새로운 데이터[, 컬럼명 = 새로운 데이터, ...]
WHEN NOT MATCHED THEN
     INSERT [(컬럼명1, 컬럼명2, ...)]
     VALUES (데이터1, 데이터2, ...);

 

TCL

트랜잭션 제어 언어(TCL, Transaction Control Language)로 트랜잭션의 결과를 허용하거나 취소하는 명령어

트랜잭션의 특성

원자성(Atomicity) : 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 모두 취소되어야 함

일관성(Consistency) : 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 함

격리성=고립성(Isolation) : 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 함

영속성=지속성(Durability) : 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 함

  • COMMIT : 트랜잭션을 메모리에 영구적으로 저장하는 명령어
  • ROLLBACK : 트랜잭션 내역을 저장 무효화시키는 명령어
  • SAVEPOINT : ROLLBACK을 위한 시점을 지정하는 명령어