BACKEND [Kamranahmedse Roadmap]/DB

[MySQL] DDL 총정리

Alex Han 2025. 3. 17. 01:02
반응형

이번엔 MySQL의 DDL (Data Definition Language)을 깔끔하게 총정리해보겠습니다.

 

✅ DDL이란?

DDL(Data Definition Language)데이터베이스, 테이블, 인덱스, 제약조건 등 데이터 구조 자체를 정의하거나 수정하는 언어다.

데이터의 형태, 구조(스키마)를 만들고 바꾸는 데 사용

트랜잭션 처리 불가 (ROLLBACK 안 됨)

실행 즉시 자동 커밋 (Auto-commit)

 

DCL 알아보기

 

[MySQL] DCL 총정리

MySQL에서 DCL (Data Control Language)은 권한(Privilege)과 관련된 명령어를 제공하는 언어입니다. 주로 사용자 관리, 권한 부여/회수에 사용됩니다. 핵심은 보안과 접근 제어에 있습니다.    ✅ DCL 주요

jyhan0625.tistory.com

 

 

 


2. 주요 DDL 명령어

명령어 설명
CREATE 데이터베이스 객체 생성 (DB, Table 등)
DROP 데이터베이스 객체 삭제
ALTER 테이블 구조 변경
TRUNCATE 테이블 데이터 전체 삭제 (구조는 남김)
RENAME 테이블 이름 변경

 

 

 


1. CREATE

 

1) 데이터베이스 생성

CREATE DATABASE db_name;

 

예시

CREATE DATABASE school;

 


 

2) 테이블 생성

CREATE TABLE table_name (
  column_name datatype [constraints],
  ...
);

 

예시

CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  age INT,
  grade CHAR(1)
);

 

 

 


2. DROP

 

1) 데이터베이스 삭제

DROP DATABASE db_name;

 

예시

DROP DATABASE school;

 


 

2) 테이블 삭제

DROP TABLE table_name;

 

예시

DROP TABLE students;

 

 

 


3. ALTER

 

1) 컬럼 추가

ALTER TABLE table_name ADD column_name datatype;

 

예시

ALTER TABLE students ADD address VARCHAR(100);

 


 

2) 컬럼 삭제

ALTER TABLE table_name DROP COLUMN column_name;

 

예시

ALTER TABLE students DROP COLUMN address;

 


 

3) 컬럼 수정 (자료형 변경, 크기 변경 등)

ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;

 

예시

ALTER TABLE students MODIFY COLUMN name VARCHAR(100);

 


 

4) 컬럼 이름 변경

ALTER TABLE table_name CHANGE old_name new_name datatype;

 

예시

ALTER TABLE students CHANGE grade student_grade CHAR(1);

 

 

 


4. TRUNCATE

테이블 내 데이터 모두 삭제 (구조는 그대로)

ROLLBACK 불가

AUTO_INCREMENT 값 초기화

TRUNCATE TABLE table_name;

 

예시

TRUNCATE TABLE students;

 

 

 


5. RENAME

테이블 이름 변경

RENAME TABLE old_name TO new_name;

 

예시

RENAME TABLE students TO alumni;

 

 

 


✅ 제약조건 (Constraints)

DDL 명령어에 자주 등장하는 제약조건들!

제약조건 설명
PRIMARY KEY 기본키 (중복 불가, NULL 불가)
FOREIGN KEY 외래키 (다른 테이블 참조)
UNIQUE 중복 불가
NOT NULL NULL 값 입력 금지
DEFAULT 기본값 설정
CHECK 조건 만족해야 데이터 입력 가능

 

 

반응형