1. DDL
- 데이터베이스 객체의 구조를 정의하거나 변경하는 명령어
특징
- 자동 커밋
- TCL 불가 (ROLLBACK ❌)
- 구조 변경 명령
2. 종류
| 구분 | 명령어 | 설명 |
| 생성 | CREATE | DB / 테이블 생성 |
| 변경 | ALTER | 컬럼 추가/수정/삭제 |
| 삭제 | DROP | 객체 자체 삭제 |
| 전체삭제 | TRUNCATE | 테이블 데이터 전체 삭제 |
| 이름변경 | RENAME | 객체 이름 변경 |
create) character set
더보기
CREATE DATABASE mydb
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
- 문자를 어떤 인코딩 체계로 저장할지 정의
create) collation
더보기
CREATE DATABASE mydb
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
- 문자열을 비교/정렬하는 규칙 정의
create) 제약 조건
더보기
CREATE TABLE Employees (
ID INT AUTO_INCREMENT,
FirstName VARCHAR(100) NOT NULL,
Email VARCHAR(255) UNIQUE,
Age INT CHECK (Age >= 18),
PRIMARY KEY (ID)
);
| 제약조건 | 설명 | 특징 |
| NOT NULL | NULL 불가 | 반드시 값 필요 |
| UNIQUE | 중복 불가 | NULL은 허용 가능 |
| PRIMARY KEY | PK 지정 | NOT NULL + UNIQUE |
| FOREIGN KEY | 참조 무결성 | 부모 테이블 참조 |
| CHECK | 조건 제약 | 값 범위 제한 |
| DEFAULT | 기본값 설정 | 값 미입력 시 자동 |
alter) 구조 변경
더보기
ALTER TABLE Employees ADD COLUMN Salary INT;
ALTER TABLE Employees MODIFY COLUMN Salary DECIMAL(10,2);
ALTER TABLE Employees CHANGE Salary AnnualSalary DECIMAL(10,2);
ALTER TABLE Employees DROP COLUMN Address;
ALTER TABLE Employees RENAME TO Staff;
| 기능 | 예시 |
| 컬럼 추가 | ADD COLUMN |
| 컬럼 수정 | MODIFY COLUMN |
| 컬럼 이름 변경 | CHANGE old new |
| 컬럼 삭제 | DROP COLUMN |
| 테이블 이름 변경 | RENAME |
'Database > Mysql' 카테고리의 다른 글
| [MySQL][SQL] 2-2. DML: Inner Function (Single Row) (0) | 2026.03.04 |
|---|---|
| [MySQL][SQL] 2. DML (0) | 2026.03.04 |
| [Real MySQL] 4-2. 아키텍쳐: InnoDB 스토리지 엔진 아키텍쳐 (2) (6) | 2025.06.08 |
| [업무에 바로 쓰는 SQL 튜닝] 5. 악성 SQL 튜닝으로 전문가 되기 (0) | 2025.03.19 |
| [업무에 바로 쓰는 SQL 튜닝] 4. 악성 SQL 튜닝으로 초보자 탈출하기 (0) | 2025.03.18 |