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

MySQL에서 ENUM 열을 생성하고 사용하는 방법

MySQL에서 ENUM 열을 생성하려면 열거형 값이 반드시 따옴표로 묶인 문자열 리터럴이어야 합니다. 아래의 문법을 사용하여 ENUM 열을 가진 테이블을 만들 수 있습니다.

CREATE TABLE table_name(
    ...
    Col ENUM('Value1','Value2','Value3'),
    ...
);

위 문법에서는 세 개의 열거형 값을 사용했지만, 필요에 따라 세 개 이상의 값을 정의할 수도 있습니다.

ENUM 열 생성 예제

다음은 ENUM 열을 포함하는 테이블을 생성하는 실제 예제입니다.

mysql> Create table marks(id int Primary key NOT NULL, Name Varchar(255) NOT NULL, Result ENUM('Pass', 'Fail') NOT NULL);
Query OK, 0 rows affected (0.18 sec)

위 쿼리는 'Pass'와 'Fail' 두 가지 값만 허용하는 ENUM 필드를 가진 marks라는 이름의 테이블을 생성합니다. Result 열에는 이 두 값 외에 다른 값을 저장할 수 없으므로, 데이터의 일관성을 유지하는 데 매우 유용합니다.

데이터 삽입하기

테이블이 생성되면 다음과 같이 INSERT 문을 사용해 데이터를 삽입할 수 있습니다.

mysql> Insert into marks(id, name, result) values(101,'Aarav','Pass');
Query OK, 1 row affected (0.07 sec)

mysql> Insert into marks(id, name, result) values(102,'Yashraj','Fail');
Query OK, 1 row affected (0.02 sec)

위의 두 쿼리를 통해 각각 'Pass'와 'Fail'이라는 ENUM 값을 가진 레코드가 테이블에 삽입됩니다. 만약 ENUM에 정의되지 않은 값을 삽입하려고 하면 MySQL은 오류를 반환하거나(엄격 모드), 빈 문자열을 저장합니다(비엄격 모드).

삽입된 데이터 확인하기

SELECT 문으로 테이블에 저장된 데이터를 확인해 보겠습니다.

mysql> Select * from marks;
+-----+---------+--------+
| id  | Name    | Result |
+-----+---------+--------+
| 101 | Aarav   | Pass   |
| 102 | Yashraj | Fail   |
+-----+---------+--------+
2 rows in set (0.00 sec)

결과에서 볼 수 있듯이, ENUM 열은 지정된 값들만 깔끔하게 저장하고 관리합니다. 이처럼 ENUM 타입은 성별, 상태, 등급처럼 값의 종류가 제한적인 데이터를 다룰 때 코드의 가독성을 높이고 잘못된 데이터 입력을 방지하는 데 효과적입니다.