본문 바로가기

Web Sever 개발과 CS 기초/DB 지식

SQL 언어 DML, DDL, DCL, TCL 이해하기

개요와 목적

먼저 관계형 데이터 베이스 관리 조작 언어인 SQL를 간단히 알아보고,

관계형 데이터 베이스 구조 별로 사용하는 SQL 언어인 DML, DDL, DCL,TCL에 대해서 알아보자

SQL이란 

SQL이란 관계형 데이터베이스를 관리하고 조작하는 언어이다.

관계형 데이터 베이스에 대한 설명은 아래 글을 통해 확인 할 수 있다.

SQL은 프로그래밍 언어가 아닌, 쿼리 언어를 사용한다. 특징으로, 영어 문장 형식과 비슷한 질의를 통해 데이터 베이스와 소통한다.

영어 문장 구조와 비슷한 SQL예시를 알아보자.

SELECT * FROM students WHERE age>21;

students 테이블에서 나이가 21 이상인 정보 조회하는 요청이다..

DELETE FROM students WHERE id=2;

students 테이블에서 id가 2인 데이터를 삭제한다는 요청이다.

DML, DDL, DCL, TCL

SQL 명령문 종류에는 DML, DDL, DCL, TCL이 있다..

아래 글의 관계형 데이터 베이스 구조를 이해하면, DML, DDL, DCL 명령어의 역할을 이해하기 쉽다.

DML(Data Manipulation Language) 데이터 조작어

테이블에 있는 데이터를 조작하는 명령어이다.

종류 역할
SELECT 데이틀 조회한다.
INSERT 데이터를 삽입한다
UPDATE 데이터를 수정한다.
DELETE 데이터를 삭제한다.

DDL(Data Definition Language) 데이터 정의어

데이터 베이스 또느 테이블을 조작 관리하는 명령어이다.

종류 역할
CREATE 데이터 베이스, 테이블을 생성한다
ALTER 테이블을 수정한다.
DROP 데이터베이스, 테이블을 삭제한다.
TRUNCATE 테이블을 초기화 한다.

DCL(Data Control Language) 데이터 제어어

데이터베이스에 접근하고 객체들을 사용할 수 있는 권한을 주거나 회수하는 명령어이다.

종류 역할
GRANT 특정 데이터베이스 사용자에게 작업에 대한 권한 부여한다.
REVOK 특정 데이터베이스 사용자에게 작업에 대한 권한 박탈한다.

TCL (Transaction Control Language) 트랜잭션 제어어

트랜잭션을 제어하는 명령어이다.

종류 역할
COMMIT 수행한 조작에 대해 문제가 없다고 판단해 처리를 적용한다.
ROLLBACK 문제가 발생하여 처리하기 전 상태로 돌린다.
SAVEPOINT 전부다 롤백하는 것이 아니라, 저장할 포인트를 정해놓는다.

Reference

https://www.youtube.com/watch?v=z9chRlD1tec

https://brownbears.tistory.com/180

https://velog.io/@dnjscksdn98/Database-ORM이란

https://velog.io/@cha-suyeon/데이터베이스3-SQL-DDL-DML-DCL