컴퓨터 활용/노년에 즐기는 코딩

[SQL] SQL(Structured Query Language) 네 가지 주요 유형

easyfly 2025. 11. 11. 07:24
반응형

SQL(Structured Query Language) 네 가지 주요 유형

SQL(Structured Query Language)은 데이터베이스를 정의하고 조작하며 제어하기 위한 언어로, 기능에 따라 네 가지 주요 유형으로 구분됩니다.


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

데이터베이스의 구조를 정의하거나 변경하는 명령어입니다.
즉, 테이블과 같은 객체를 생성·수정·삭제하는 역할을 합니다.

  • CREATE : 데이터베이스나 테이블 등을 새로 생성
  • CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
  • ALTER : 기존 테이블 구조 변경(컬럼 추가, 삭제 등)
  • ALTER TABLE student ADD COLUMN address VARCHAR(100);
  • DROP : 테이블이나 데이터베이스 삭제
  • DROP TABLE student;
  • TRUNCATE : 테이블 구조는 유지하고 데이터만 전부 삭제
  • TRUNCATE TABLE student;

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

테이블 안의 데이터를 추가·조회·수정·삭제하는 명령어입니다.
사용자가 실제 데이터를 다룰 때 가장 자주 사용하는 부분입니다.

  • INSERT : 새 데이터 삽입
  • INSERT INTO student (id, name, age) VALUES (1, '홍길동', 25);
  • SELECT : 데이터 조회
  • SELECT * FROM student WHERE age > 20;
  • UPDATE : 기존 데이터 수정
  • UPDATE student SET age = 26 WHERE id = 1;
  • DELETE : 데이터 삭제
  • DELETE FROM student WHERE id = 1;

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

사용자 권한과 접근을 제어하는 명령어입니다.
보안과 권한 관리에 관련됩니다.

  • GRANT : 사용자에게 권한 부여
  • GRANT ALL PRIVILEGES ON student TO manager;
  • REVOKE : 권한 회수
  • REVOKE ALL PRIVILEGES ON student FROM manager;

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

트랜잭션의 처리 단위를 제어하는 명령어로, 데이터 일관성을 유지합니다.
여러 DML 명령을 하나의 단위로 묶어 실행하거나 되돌릴 때 사용합니다.

  • COMMIT : 변경사항 확정 (저장)
  • COMMIT;
  • ROLLBACK : 오류 발생 시 이전 상태로 되돌림
  • ROLLBACK;
  • SAVEPOINT : 트랜잭션 내 임시 저장 지점 설정
  • SAVEPOINT point1; ROLLBACK TO point1;

요약 비교표

구분 이름 주요 기능 대표 명령어
DDL 데이터 정의어 데이터 구조 정의 CREATE, ALTER, DROP, TRUNCATE
DML 데이터 조작어 데이터 추가·조회·수정·삭제 SELECT, INSERT, UPDATE, DELETE
DCL 데이터 제어어 권한 부여 및 회수 GRANT, REVOKE
TCL 트랜잭션 제어어 트랜잭션 제어 (저장/취소) COMMIT, ROLLBACK, SAVEPOINT

이 네 가지는 SQL의 기본 축을 이루며,
데이터베이스를 설계(DDL)하고, 데이터를 다루며(DML),
보안을 관리(DCL)하고, 일관성을 유지(TCL)하는 전 과정을 담당합니다.

MySQL Workbench를 활용한 데이터베이스 복원(산수도서관에서)

반응형