Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL ENUM 타입으로 특정 3개 값만 허용하는 열이 있는 테이블 만드는 방법

MySQL에서 열에 입력할 수 있는 값을 미리 정해진 몇 가지로 제한하고 싶다면 ENUM 데이터 타입을 사용하면 됩니다. ENUM은 열에 저장될 수 있는 값을 문자열 목록으로 지정하는 방식으로, 목록에 없는 다른 값은 삽입할 수 없습니다.

1. ENUM 타입으로 테이블 생성하기

먼저 'RED', 'GREEN', 'BLUE' 세 가지 색상 값만 허용하는 열을 가진 테이블을 생성해 보겠습니다.

mysql> create table DemoTable838(Color ENUM('RED','GREEN','BLUE'));
Query OK, 0 rows affected (0.67 sec)

위 쿼리에서 Color 열은 반드시 RED, GREEN, BLUE 중 하나의 값만 가질 수 있습니다.

2. 레코드 삽입하기

INSERT 명령을 사용해 테이블에 데이터를 삽입합니다.

mysql> insert into DemoTable838 values('RED');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable838 values('Green');
Query OK, 1 row affected (0.64 sec)
mysql> insert into DemoTable838 values('Blue');
Query OK, 1 row affected (0.88 sec)

참고로 ENUM은 대소문자를 구분하지 않습니다. 따라서 'Green'처럼 소문자를 섞어 입력해도 자동으로 정의된 형식인 'GREEN'으로 변환되어 저장됩니다.

3. 결과 확인하기

SELECT 문을 사용해 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable838;

실행 결과는 다음과 같습니다.

+-------+
| Color |
+-------+
| RED   |
| GREEN |
| BLUE  |
+-------+
3 rows in set (0.00 sec)

정리

ENUM 데이터 타입을 활용하면 열에 들어갈 수 있는 값을 명확하게 제한할 수 있어, 잘못된 데이터가 입력되는 것을 데이터베이스 수준에서 방지할 수 있습니다. 성별, 상태 코드, 카테고리 등 선택지가 고정된 데이터를 다룰 때 특히 유용합니다.