특징
예시
CREATE TABLE orders (
order_id INT PRIMARY KEY,
status ENUM('pending', 'shipped', 'delivered', 'canceled')
);
INSERT INTO orders (order_id, status) VALUES (1, 'pending');
특징
예시
CREATE TABLE users (
user_id INT PRIMARY KEY,
hobbies SET('reading', 'traveling', 'swimming', 'coding')
);
INSERT INTO users (user_id, hobbies) VALUES (1, 'reading,swimming');
값의 개수 | 내부 저장 방식 | 사용 용도 | 제약 조건 | |
---|---|---|---|---|
ENUM | 단일 선택 (하나의 값만 선택 가능) | 내부적으로 정수로 저장 | 상태, 카테고리 등 한 번에 하나의 값만 가질 때 유용 | 미리 정의된 값 중 하나를 선택해야 하며, 애플리케이션 수정 시 데이터베이스에 정의된 리스트를 수정 |
SET | 다중 선택 (여러 값을 동시에 선택 가능) | 내부적으로 비트맵으로 저장 | 태그, 취미 등 여러 값을 동시에 가질 때 유용 | 미리 정의된 값 중 하나 이상의 값을 선택할 수 있으며, 선택하지 않을 수도 있음. 애플리케이션 수정 시 데이터베이스에 정의된 리스트를 수정. |