DBMS/개념

04_ DDL(데이터 구조 정의어)

seungwon-1 2025. 9. 17. 13:07

DDL(Data Definition Language)는 테이블을 생성(Create), 수정(Alter), 삭제(Drop) 등 데이터베이스의 구조를 정의하기 위한 작업들을 조작하는 언어이다.


 

 

1. CREATE

새로운 데이터베이스 객체(테이블, 인덱스, 뷰 등)를 생성할 때 사용한다.
초기 설계 단계에서 가장 많이 쓰인다.

CREATE TABLE students (
    student_id NUMBER PRIMARY KEY,
    name VARCHAR2(50) NOT NULL,
    birth_date DATE
);

 

  • students라는 테이블을 만들고
  • 학번, 이름, 생년월일 컬럼을 정의

 

2. ALTER

기존 테이블의 구조를 수정할 때 사용한다.
열 추가·삭제, 자료형 변경, 테이블 이름 변경까지 가능하다.

 

주요 옵션

  • ADD — 열 추가
ALTER TABLE employees ADD (
    phone_number VARCHAR2(20),
    hire_date DATE
);
  • DROP COLUMN — 열 삭제
ALTER TABLE students DROP COLUMN email;
  • MODIFY — 열의 자료형 변경
ALTER TABLE students MODIFY name VARCHAR2(100);
  • RENAME COLUMN — 열 이름 변경
ALTER TABLE students RENAME COLUMN birth_date TO dob;
  • RENAME TO — 테이블 이름 변경
ALTER TABLE students RENAME TO student_info;

 

3. DROP

테이블, 인덱스, 뷰 등을 완전히 삭제한다.
삭제하면 데이터까지 모두 사라지고 복구도 불가능하니 주의해야 한다.

DROP TABLE students;

students 테이블 자체와 그 안의 데이터 전부 제거

 

4. TRUNCATE

테이블의 모든 데이터를 삭제하지만, 구조는 유지한다.
DELETE보다 빠르지만, 롤백이 안 된다.

TRUNCATE TABLE students;

 

  • students 테이블의 모든 행을 제거
  • 테이블 구조는 그대로 남아 있어 다시 INSERT 가능

 

 

ㅇ DDL과 DML의 차이

구분                    DDL                                                                            DML

목적 데이터 구조 정의 데이터 조작
예시 CREATE, ALTER, DROP, TRUNCATE INSERT, UPDATE, DELETE, SELECT
트랜잭션 자동 COMMIT → 롤백 불가 명시적 COMMIT → 롤백 가능

 

'DBMS > 개념' 카테고리의 다른 글

06_ DB의 연산자  (0) 2025.09.19
05_ DML(데이터 조작어)  (0) 2025.09.18
📚03_ DBMS의 자료형  (0) 2025.09.16
02_ DB와 SQL  (0) 2025.09.15
❓01_ DBMS란?  (0) 2025.09.13