티스토리 뷰

개발/DB

[용어 정리] DML, DCL, DDL, PL/SQL

-=HaeJuK=- 2026. 2. 3. 15:58
728x90
반응형

 

[DB 기초] SQL 언어의 분류와 PL/SQL 완벽 이해하기

데이터베이스를 공부하다 보면 가장 먼저 마주치는 외계어 같은 용어들, DML, DDL, DCL, TCL... 그리고 PL/SQL까지! 오늘은 이 용어들이 각각 무엇을 뜻하고 어떻게 활용되는지 아주 쉽게 정리해 보겠습니다.

💡 핵심 요약: SQL은 데이터베이스와 대화하는 '언어'이며, 그 목적에 따라 여러 카테고리로 나뉩니다.

1. SQL의 4가지 분류

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

데이터베이스의 뼈대(구조)를 만들거나 수정, 삭제할 때 사용합니다. 건물로 비유하면 '설계도'를 그리고 '공사'를 하는 과정과 같습니다.

  • CREATE: 테이블이나 인덱스 등 객체 생성
  • ALTER: 기존 객체의 구조 변경
  • DROP: 객체 삭제 (완전 제거)
  • TRUNCATE: 구조는 남기고 데이터만 전체 삭제

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

실제 데이터를 조작할 때 사용하며, 개발자가 가장 많이 사용하는 언어입니다. 가구(데이터)를 집에 들여놓거나 바꾸는 일이죠.

  • SELECT: 데이터 조회 (가장 빈번하게 사용!)
  • INSERT: 새로운 데이터 삽입
  • UPDATE: 기존 데이터 수정
  • DELETE: 데이터 삭제

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

데이터베이스에 대한 접근 권한을 관리합니다. 누가 들어올 수 있는지, 누가 이 데이터를 볼 수 있는지 결정하는 '보안 요원' 역할입니다.

  • GRANT: 특정 사용자에게 권한 부여
  • REVOKE: 부여했던 권한 회수

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

DML로 작업한 내용을 확정지을지, 아니면 취소하고 되돌릴지 결정합니다.

  • COMMIT: 작업 결과를 최종적으로 DB에 반영
  • ROLLBACK: 작업 중 오류가 발생했을 때 마지막 커밋 시점으로 되돌림

2. 한눈에 보는 SQL 분류표

분류 설명 주요 명령어
DDL 구조 정의 (뼈대) CREATE, ALTER, DROP
DML 데이터 조작 (내용물) SELECT, INSERT, UPDATE, DELETE
DCL 권한 제어 (보안) GRANT, REVOKE
TCL 작업 확정/취소 COMMIT, ROLLBACK

3. PL/SQL이란 무엇인가요?

PL/SQL (Procedural Language extension to SQL)은 오라클에서 제공하는 SQL의 확장판입니다. 일반적인 SQL은 "이거 가져와!"라고 명령하는 단답형이지만, PL/SQL은 "절차적"인 논리를 추가할 수 있습니다.

PL/SQL의 특징

  • 절차적 프로그래밍: IF(조건문), LOOP(반복문) 등을 사용할 수 있습니다.
  • 모듈화: 복잡한 로직을 하나의 프로시저(Procedure)함수(Function)로 묶어서 저장할 수 있습니다.
  • 성능 향상: 여러 SQL 문을 하나로 묶어 서버로 보내기 때문에 통신 부하가 줄어듭니다.
  • 예외 처리: 에러가 발생했을 때 어떻게 처리할지 로직을 짤 수 있습니다.
📌 정리하자면: SQL이 '명령어'라면, PL/SQL은 그 명령어들을 모아 만든 '프로그램 스크립트'라고 이해하시면 됩니다.

 

728x90
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함