데이터베이스

SQL DML, DDL, DCL, TCL: 한눈에 보는 초보 개발자를 위한 가이드

CodeCaine Explorer 2024. 12. 19. 14:52
728x90
반응형
SMALL

안녕하세요! 😊
SQL을 배우는 초보 개발자분들에게 정말 중요한 개념 중 하나가 바로 DML, DDL, DCL, TCL입니다. 이 네 가지는 데이터베이스 작업을 분류하는 데 사용되며, 각각의 목적과 사용하는 예약어가 다릅니다. 하나씩 정리해드릴게요!


1. DML (Data Manipulation Language)

DML은 데이터를 조작하거나 조회하는 데 사용하는 명령어입니다.
예를 들어 데이터를 추가, 수정, 삭제, 조회하는 작업을 포함합니다.

대표 예약어:

  • SELECT: 데이터를 조회합니다.
  • INSERT: 데이터를 추가합니다.
  • UPDATE: 데이터를 수정합니다.
  • DELETE: 데이터를 삭제합니다.

정리

DML은 테이블 안의 데이터를 다루는 데 사용돼요. 데이터 자체를 "조작"하는 기능이라고 보면 됩니다. 😊


2. DDL (Data Definition Language)

DDL은 데이터베이스의 구조를 정의하거나 변경하는 데 사용됩니다.
테이블을 생성하거나 수정하는 작업에 사용돼요.

대표 예약어:

  • CREATE: 테이블, 데이터베이스 등을 생성합니다.
  • ALTER: 기존 구조를 수정합니다. (예: 테이블에 컬럼 추가)
  • DROP: 테이블, 데이터베이스 등을 삭제합니다.
  • TRUNCATE: 테이블의 데이터를 모두 삭제하지만, 구조는 유지합니다.

정리

DDL은 데이터를 담는 "그릇"을 관리한다고 생각하면 쉬워요. 테이블과 같은 데이터베이스 객체를 설계하고 수정하는 도구입니다. 😊


3. DCL (Data Control Language)

DCL은 데이터베이스의 권한을 제어하는 데 사용됩니다.
누가 무엇을 할 수 있는지 설정하는 역할이에요.

대표 예약어:

  • GRANT: 사용 권한을 부여합니다.
  • REVOKE: 사용 권한을 회수합니다.

정리

DCL은 데이터베이스에 접근할 수 있는 사람의 권한을 관리한다고 생각하면 됩니다. 😊


4. TCL (Transaction Control Language)

TCL은 데이터 조작(DML) 작업을 트랜잭션으로 관리합니다.
트랜잭션은 작업의 묶음으로, 성공하면 적용하고, 실패하면 되돌립니다.

대표 예약어:

  • COMMIT: 트랜잭션을 저장합니다.
  • ROLLBACK: 트랜잭션을 취소합니다.
  • SAVEPOINT: 특정 시점으로 트랜잭션을 저장합니다.
  • SET TRANSACTION: 트랜잭션을 설정합니다.

정리

TCL은 "실수했을 때 되돌릴 수 있는 안전장치"라고 생각하면 돼요. 😊


한눈에 보는 정리 표

분류 설명 대표 예약어
DML 데이터를 조회/조작 SELECT, INSERT, UPDATE, DELETE
DDL 데이터 구조 정의/변경 CREATE, ALTER, DROP, TRUNCATE
DCL 데이터 접근 권한 제어 GRANT, REVOKE
TCL 트랜잭션 관리 COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION

쉽게 이해하기 위한 비유 🌟

  • DDL: 새 집을 짓거나 리모델링하는 작업 🏠
  • DML: 집 안의 가구를 배치하거나 변경하는 작업 🪑
  • DCL: 집의 열쇠를 누가 가질 수 있는지 정하는 작업 🔑
  • TCL: 실수로 가구를 옮기다 엎어졌을 때 원상복구하는 작업 🔄

조금만 더 힘내세요! 😊 어렵게 느껴질 수 있지만, 차근차근 하다 보면 금방 이해되실 거예요!
추가적으로 궁금한 점 있으시면 언제든지 말씀해주세요.
행복한 하루 되세요! 🌈

반응형
SMALL