DDL(Data Definition Language, 데이터 정의 언어)은 스키마 관리 언어로서 데이터베이스, 테이블, 뷰, 인덱스 등의 개체를 생성·삭제·변경한다. 실무에서는 개발·운영 단계에서 스키마를 설계할 때 사용한다. DDL은 자동 커밋되며 롤백이 불가하다는 특징이 있다.

종류

  • CREATE 문: 데이터베이스 또는 테이블 생성과 설계 원칙
  • DROP 문: 데이터베이스 또는 테이블 삭제
  • ALTER 문: 테이블 구조 수정과 제약 조건 관리
  • CREATE·DROP INDEX 문: 성능 최적화를 위한 인덱스 활용

CREATE

CREATE는 데이터베이스 또는 테이블을 생성하는 DDL이다.

다음 예시는 example_db 데이터베이스를 생성하고 해당 데이터베이스를 선택한다.

CREATE DATABASE example_db;
USE example_db;

다음 예시는 example_table 테이블을 생성한다. 소괄호 내부에 열에 관한 데이터 유형과 제약 조건을 명시한다.

CREATE TABLE example_table (
	col_1 INT AUTO_INCREMENT PRIMARY KEY,
	col_2 VARCHAR(50),
	col_3 INT NOT NULL
);

DROP

DROP은 데이터베이스 또는 테이블을 삭제하는 DDL이다.

다음 예시는 example_db 데이터베이스를 삭제한다.

DROP DATABASE example_db;

다음 예시는 example_table 테이블을 삭제한다.

DROP TABLE example_table;

ALTER

ALTER는 데이터베이스 또는 테이블의 속성 또는 설정을 변경하는 DDL이다.

다음 예시는 example_db 데이터베이스의 문자 집합을 utf8mb4로 변경한다.

ALTER DATABASE example_db CHARACTER SET utf8mb4;

다음 예시는 example_table 테이블에 email 열을 추가한다.

ALTER TABLE example_table ADD COLUMN email VARCHAR(100);

참고 문헌

  • Do it! MySQL로 배우는 SQL 입문
  • 핀테크 인턴십 코스 교안