DB

[SQL] DDL, DML, DCL, TCL 이란?

프흐프좋아 2024. 5. 15. 17:28

면접 단골 문제..!

DDL DML DCL를 간단히 설명해볼 수 있나요?

DDL , DML , DCL에 해당하는 명령어를 말해줄 수 있나요?


데이터베이스에서는 데이터를 다루기 위한 모든 작업을 SQL을 이용해 작업한다.

SQL은 다루는 객체나 용도에 따라서 그룹핑할 수 있다.

DDL, DML, DCL, TCL로 나누어서 부른다.

 

1. DDL (데이터 정의어) - 데이터베이스의 구조 정의에 사용하는 언어

- create : 테이블을 생성

- truncate : 테이블 내용을 삭제 (초기화)  > drop과는 다른 개념임

- alter : 테이블의 구조 변경 (컬럼 추가 등등)

- drop : 테이블 삭제 (truncate는 내용만 삭제, drop은 아예 테이블 삭제)

 

2. DML(데이터 조작어) - 데이터 조작에 사용하는 언어

- insert : 데이터 추가
- update : 데이터 수정

- delete : 데이터 삭제

- select : 데이터 조회


3. DCL(데이터 제어어) - 데이터베이스 접근 권한 제어에 사용하는 언어

- grant : 유저에게 권한 부여

- revoke : 유저에게 권한 회수

 

4. TCL(트랜잭션 제어어) - DCL에서 트랜잭션을 컨트롤하는 명령어를 TCL로 분류

- commit :올바르게 완료한 작업, 데이터베이스에 영구적으로 반영한다

- rollback : 작업 시작 전으로 되돌린다.

- savepoint : 세이브포인트를 지정해서 rollback과 함께 사용해 특정 지점까지 rollback