MySQL에서 DESCRIBE 문은 특정 테이블의 구조(스키마)에 대한 상세한 정보를 보여주는 명령어입니다. 이 문을 사용하면 컬럼 이름, 데이터 타입, NULL 허용 여부, 기본값, 키 제약 조건 등을 한눈에 파악할 수 있습니다.
DESCRIBE 문 사용 예제
먼저 다음과 같이 Create Table 문을 사용하여 'Employee'라는 이름의 테이블을 생성해 보겠습니다.
mysql> Create table Employee(ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, Name Varchar(20)); Query OK, 0 rows affected (0.20 sec)
테이블 생성이 완료되면 DESCRIBE Employee 문을 실행하여 해당 테이블의 구조 정보를 확인할 수 있습니다.
mysql> Describe Employee; +-------+-------------+------+-----+---------+------------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+------------------+ | ID | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+------------------+ 2 rows in set (0.11 sec)
출력 결과 해석
위 결과 화면의 각 항목이 의미하는 바는 다음과 같습니다.
Field: 컬럼의 이름을 나타냅니다. 위 예제에서는 ID와 Name 두 개의 컬럼이 존재합니다.
Type: 각 컬럼의 데이터 타입을 보여줍니다. ID는 정수형(int), Name은 최대 20자까지 저장 가능한 문자열(varchar)입니다.
Null: 해당 컬럼에 NULL 값을 저장할 수 있는지 여부를 나타냅니다. ID는 NOT NULL 제약 조건이 있어 NO로 표시되고, Name은 YES로 표시됩니다.
Key: 컬럼에 설정된 키 제약 조건을 의미합니다. ID는 기본 키(PRIMARY KEY)이므로 PRI로 표시됩니다.
Default: 별도의 값이 지정되지 않았을 때 저장되는 기본값을 나타냅니다.
Extra: 자동 증가(auto_increment)와 같은 추가 속성 정보를 보여줍니다.
이처럼 DESCRIBE 문은 테이블 설계를 검증하거나, 다른 개발자가 만든 테이블의 구조를 빠르게 파악해야 할 때 매우 유용하게 활용됩니다. 참고로 DESC Employee처럼 축약형으로 사용해도 동일한 결과를 얻을 수 있습니다.