SQL 언어 구성의 구분(DDL, DML, DCL, TCL)

권태형·2023년 6월 28일
0

SQL

목록 보기
2/6
post-thumbnail

😀이번에 SQL에 대해서 강의를 듣고 포스팅을 정리하면서 이것저것 찾아보다보니, SQL의 모든 문법이 다 그냥 SQL이라고 부르는게 아니라 각 기능에 따라서 DDL, DML, DCL, TCL 등으로 구분되어져 불린다는 것을 알게 되어 이번에 포스팅으로 정리해보고자 한다.

SQL ?

SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 조회하고 조작하는 데 사용하는 언어이다.

이러한 SQL은 문법의 범주에 따라서 DDL, DML, DCL, TCL 등으로 구성되는데 각 구성요소에 대해서 알아보자.

DDL(Data Definition Language)

DDL은 데이터를 정의하는 언어로 데이터베이스의 구조 또는 스키마를 정의하거나 변경할 때 사용한다. 주로 테이블의 생성, 수정, 삭제 등을 처리하는 명령어들이 포함되어 있다.

명령어내용
CREATE데이터베이스의 객체를 생성
ALTER데이터베이스의 구조를 변경
DROP데이터베이스의 객체를 삭제 (테이블의 모든 데이터와 구조를 삭제)
RENAME데이터베이스의 객체 이름을 변경
COMMENT데이터에 주석등을 추가
TRUNCATE테이블에 할당된 모든 공간을 포함하여 모든 레코드를 제거. (테이블 객체의 저장공간 재사용 가능)

DML(Data Manipulation Language)

DML은 데이터를 조작하는 언어로, 데이터를 저장, 변경, 삭제, 조회할 때 사용하는 명령어들을 포함하고 있다.

명령어내용
SELECT테이블의 데이터를 조회
INSERT테이블에 데이터를 삽입 (추가)
UPDATE테이블의 기존 데이터를 수정
DELETE테이블에서 데이터를 삭제

우리가 가장 기본적으로 사용하는 SQL의 문법이 대부분 DML에 속한다. DML은 위의 기본적인 SELECT, INSERT 등 뿐만 아니라 MARGE, CALL, EXPLAIN PLAN, LOCK TABLE, UPSERTE, REPLACE 등 여러가지가 존재한다.

DCL (Data Control Language)

DCL은 데이터 제어 언어로, 데이터베이스 사용자에게 권한을 부여하거나 취소하는 기능을 담당하는 명령어들이 포함되어 있다.

명령어내용
GRANT사용자에게 권한을 부여하는 명령어
REVOKE사용자의 권한을 취소하는 명령어

TCL (Transaction Control Language)

TCL은 트랜잭션 제어 언어로, 트랜잭션의 시작과 종료, 롤백, 복구 등을 관리하는 명령어들을 가지고 있다.

명령어내용
COMMIT트랜잭션을 확정하고, 작업 중 모든 변경 내용을 데이터베이스에 적용하는 명령어
ROLLBACK현재 진행 중인 트랜잭션을 취소하고, 이전 작업을 되돌리는 명령어
SAVEPOINT트랜잭션의 특정 시점을 저장하고, 롤백할 때 해당 지점까지만 되돌리는 명령어
SET TRANSACTION트랜잭션에 대한 상태나 속성을 설정하는 명령어

참고자료(출처)
티스토리 버들도령 블로그 포스팅 DBMS 데이터 언어 - DDL, DML, DCL, TCL 의 정의
벨로그 alicesykim95 블로그 포스팅 DB 개요: DDL, DML, DCL, TCL이란?

profile
22년 12월 개발을 시작한 신입 개발자 ‘권태형’입니다. 포스팅 하나하나 내가 다시보기 위해 쓰는 것이지만, 다른 분들에게도 도움이 되었으면 좋겠습니다. 💯컬러폰트가 잘 안보이실 경우 🌙다크모드를 이용해주세요.😀 지적과 참견은 언제나 환영합니다. 많은 댓글 부탁드립니다.

0개의 댓글