MySQL의 DESCRIBE 문은 일반적으로 테이블 전체의 구조와 정보를 한 번에 보여줍니다. 그런데 테이블 이름 뒤에 특정 컬럼 이름을 함께 지정하면, 해당 컬럼에 대한 정보만 골라서 확인할 수 있습니다.
기본 문법
DESCRIBE table_name col_name;
위 문법에서 table_name은 조회하려는 테이블의 이름, col_name은 정보를 확인하고 싶은 컬럼의 이름입니다.
예제 1: ID 컬럼 정보 조회
mysql> Describe employee ID; +-------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+----------------+ | ID | int(11) | NO | PRI | NULL | auto_increment | +-------+---------+------+-----+---------+----------------+ 1 row in set (0.11 sec)
위 쿼리는 employee 테이블의 ID 컬럼에 대한 정보를 출력합니다. 결과를 보면 이 컬럼은 int(11) 타입이며, NULL 값을 허용하지 않고(NO), 기본 키(PRI)로 설정되어 있으며, auto_increment 속성이 적용되어 있음을 알 수 있습니다.
예제 2: Name 컬럼 정보 조회
mysql> Describe employee name; +-------+-------------+------+-----+---------+---------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+---------+ | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+---------+ 1 row in set (0.03 sec)
이번에는 같은 employee 테이블의 다른 컬럼인 Name에 대한 정보를 조회했습니다. Name 컬럼은 최대 20자를 저장할 수 있는 varchar(20) 타입이며, NULL 값을 허용(YES)하고 별도의 키나 자동 증가 설정은 없는 것을 확인할 수 있습니다.
정리
이처럼 DESCRIBE 문에 테이블 이름과 컬럼 이름을 함께 사용하면, 테이블 전체 구조가 아닌 특정 컬럼의 데이터 타입, NULL 허용 여부, 키 설정, 기본값, 추가 속성 등을 빠르고 간편하게 확인할 수 있습니다. 대형 테이블에서 원하는 컬럼의 정의만 살펴볼 때 특히 유용합니다.