MySQL에서 SET 데이터 타입은 컬럼에 여러 개의 미리 정의된 값을 저장할 수 있게 해주는 유용한 기능입니다. 이 글에서는 테이블을 생성할 때 SET 옵션을 설정하는 방법과, 설정된 옵션 목록을 확인하는 두 가지 방법을 알아보겠습니다.
1. SET 옵션이 포함된 테이블 생성하기
먼저 SET 옵션을 지정하여 테이블을 생성해 보겠습니다.
mysql> create table DemoTable
(
Color SET('RED','GREEN','BLUE','YELLOW')
);
Query OK, 0 rows affected (0.47 sec)위 예제에서는 'RED', 'GREEN', 'BLUE', 'YELLOW' 네 가지 색상 값을 허용하는 SET 타입의 Color 컬럼을 가진 테이블을 만들었습니다.
2. DESC 명령어로 SET 옵션 조회하기
Case 1: DESC 명령어 사용
테이블 구조를 확인하는 DESC(DESCRIBE) 명령어를 사용하면 해당 컬럼에 정의된 SET 옵션 목록을 바로 확인할 수 있습니다.
mysql> desc DemoTable;
실행 결과는 다음과 같습니다.
+-------+------------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------------------------+------+-----+---------+-------+
| Color | set('RED','GREEN','BLUE','YELLOW') | YES | | NULL | |
+-------+------------------------------------+------+-----+---------+-------+
1 row in set (0.00 sec)Type 컬럼에 set('RED','GREEN','BLUE','YELLOW')가 표시되는 것을 확인할 수 있습니다.
3. information_schema로 SET 옵션 조회하기
Case 2: information_schema.columns 활용
좀 더 프로그래밍적인 방식으로 옵션을 조회하려면 information_schema.columns 뷰를 활용할 수 있습니다. 이 방법은 특정 컬럼의 타입 정보만 정확하게 추출하고 싶을 때 유용합니다.
mysql> select column_type from information_schema.columns where table_name = 'DemoTable' and column_name = 'Color';
실행 결과는 다음과 같습니다.
+------------------------------------+
| COLUMN_TYPE |
+------------------------------------+
| set('RED','GREEN','BLUE','YELLOW') |
+------------------------------------+
1 row in set (0.01 sec)정리
MySQL에서 SET 타입으로 정의된 컬럼의 옵션 목록을 확인하는 방법은 크게 두 가지입니다.
- DESC 명령어: 간단하게 테이블 전체 구조와 함께 SET 옵션을 확인할 수 있습니다.
- information_schema.columns: 쿼리를 통해 특정 컬럼의 타입 정보만 정밀하게 조회할 수 있으며, 애플리케이션 로직에서 동적으로 활용하기에 적합합니다.
두 방법 모두 set('RED','GREEN','BLUE','YELLOW') 형태로 옵션 값을 반환하므로, 상황에 맞게 선택하여 사용하시면 됩니다.