데이터베이스를 운영하다 보면 특정 테이블에 어떤 제약 조건(PRIMARY KEY, NOT NULL, AUTO_INCREMENT 등)이 설정되어 있는지 확인해야 할 때가 많습니다. MySQL에서는 SHOW CREATE TABLE 문을 사용하면 해당 테이블에 적용된 제약 조건은 물론, 테이블 생성 시 정의된 다양한 세부 정보까지 한 번에 확인할 수 있습니다.
SHOW CREATE TABLE 기본 문법
SHOW CREATE TABLE table_name;
여기서 table_name은 제약 조건과 구조 정보를 확인하고자 하는 테이블의 이름입니다.
실제 사용 예시
다음은 'employees'라는 테이블의 상세 정보를 조회하는 예시입니다.
mysql> Show Create table employees\G
*************************** 1. row ***************************
Table: employees
Create Table: CREATE TABLE `employees` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(35) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)결과 해석하기
위 결과 집합을 살펴보면 다음과 같은 정보를 알 수 있습니다.
Id 컬럼: int(11) 타입으로 정의되어 있으며, NULL 값을 허용하지 않고(NOT NULL) 자동 증가(AUTO_INCREMENT) 속성이 적용되어 있습니다.
Name 컬럼: varchar(35) 타입으로, 별도의 값이 지정되지 않으면 NULL이 저장됩니다(DEFAULT NULL).
PRIMARY KEY 제약 조건: Id 컬럼이 기본 키로 설정되어 있어 각 행을 고유하게 식별합니다.
즉, 이 결과를 통해 'employees' 테이블의 'id' 컬럼에는 PRIMARY KEY 제약 조건이 적용되어 있다는 것을 명확히 확인할 수 있습니다.
추가 팁
쿼리 끝에 \G 옵션을 붙이면 결과가 세로 형태로 출력되어 긴 CREATE TABLE 문을 훨씬 읽기 쉽게 볼 수 있습니다. 또한 이 명령문은 제약 조건 외에도 스토리지 엔진(InnoDB 등)과 문자셋(latin1 등) 같은 테이블의 전반적인 설정 정보까지 함께 보여주므로, 테이블 구조를 분석하거나 백업용 DDL 스크립트를 작성할 때 매우 유용합니다.