DDL / DML / DCL이란?

By | 2023-08-06

SQL문을 보면 DDL, DML로 나뉘어져 있다.

DDL(Data Definition Language), DML(Data Manipulation Language), DCL(Data Control Language)의 약자이다.

체계적으로 차근차근 공부하기 좋아하는 사람들은 이 내용을 잘 보고 지나가고, 안 그런 사람들은 그냥 지나가도 된다.

지나가지만, 나중에 다시 돌아보게 되긴 할 것이다.

잘 인지하면, 조금 뒤에가 명확해 지겠지요.

DDL부터 살펴보자.

DDL은 테이블을 생성하고 삭제하고 변경하는 것에 대한 명령어를 담고 있다.

CREATE, DROP, MODIFY 등이 여기에 해당한다.

DML은 테이블 안에 내용을 추가,삭제,변경하는 일을 하는 명령어를 말한다.

SELECT, INSERT, UPDATE, DELETE 등을 말한다.

DCL은 보안, 적용, 되돌리기 등의 명령어를 말한다.

COMMIT, ROLLBACK, GRANT 등을 말한다.

이를 나누는 데 개념적으로 꼭 기억해 두면 좋은 것은 데이터베이스 내에 RollBack Segment 영역이 있는데 이 영역을 기억해 두자. 이하 RBS라 하겠다.

RBS를 거치지 않고, 실행되는 명령어는 DDL문이다.

DML문은 RBS안에서 이루어진다. 따라서 이 영역이 크면 속도가 빠르다.

DCL은 RBS안에서 이루어진 DML문을 적용할 것인지 취소할 것인지를 결정하고, 테이블을 어떤 USER한테 어떤 권한으로 보여줄 지를 결정하는 명령이다.

위 셋 중에서 SQL문이라고 사람들이 흔히 말하는 것은 DML 문이다.

이 다음 글부터 배우겠지만, 위 셋 중 어느 하나도 명령어가 어려운 것이 없다.

하지만, 단순한만큼 또 그 단순함으로 컨트롤하기도 어려울 수도 있다.

같은 생각이지만, 자신의 생각을 잘 전달하려면 말을 조리있게 해야하는 것처럼 SQL도 많이 생각하고 한줄한줄 작성하는 것이 중요하다.

뭐 어느정도 숙련이 되면 빠르게 읽고 빠르게 작성하게 되니까 미리부터 걱정하지 말자.

아마, 전부 잘 하게 될 것이다.

Category: SQL

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다