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

MySQL 데이터베이스에서 테이블 스키마 확인하는 방법

DESC 명령어로 테이블 구조 확인하기

MySQL에서 테이블의 스키마(구조)를 확인하는 가장 간단한 방법은 DESC 명령어를 사용하는 것입니다. 이 명령어는 필드 이름, 데이터 타입, NULL 허용 여부, 키 정보, 기본값 등 테이블 구조에 대한 상세 설명을 제공합니다.

기본 문법은 다음과 같습니다.

DESCRIBE yourDatabasename.yourTableName;

실제 적용 예시

위 문법을 실제로 적용해 보겠습니다.

mysql> DESCRIBE business.student;

실행 결과는 다음과 같습니다.

+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int(11)      | YES  | MUL | NULL    |       |
| Name  | varchar(100) | YES  | MUL | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.05 sec)

출력 결과에서 각 컬럼의 의미는 다음과 같습니다.

  • Field: 컬럼(필드)의 이름
  • Type: 컬럼의 데이터 타입 및 크기
  • Null: 해당 컬럼에 NULL 값 허용 여부
  • Key: 인덱스 또는 키 설정 여부(PRI, MUL, UNI 등)
  • Default: 기본값
  • Extra: AUTO_INCREMENT 같은 추가 속성

SHOW CREATE TABLE 명령어로 스키마 확인하기

테이블의 전체 정의문, 즉 실제 생성 쿼리 형태의 스키마를 확인하고 싶다면 SHOW CREATE TABLE 명령어를 사용하는 것이 좋습니다. 이 방식은 엔진, 문자셋, 콜레이션, 인덱스 정보까지 모두 포함하여 보여줍니다.

기본 문법은 다음과 같습니다.

show create table yourDatabasename.yourTableName;

다음은 실제 쿼리 예시입니다.

mysql> show create table business.student;

실행 결과는 아래와 같이 스키마를 그대로 보여줍니다.

+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                                                                                                                                                                  |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| student | CREATE TABLE `student` (`id` int(11) DEFAULT NULL,
   `Name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
   KEY `NameStuIndex` (`Name`),
   KEY `idIndex` (`id`)
)  ENGINE = InnoDB 
   DEFAULT CHARSET = utf8mb4 
   COLLATE =                                                                                                                                                                                                                                              |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.03 sec)

정리

테이블 구조를 빠르게 개략적으로 확인할 때는 DESC 명령어가 편리하고, 테이블의 완전한 정의(인덱스, 엔진, 문자셋 포함)를 확인해야 할 때는 SHOW CREATE TABLE 명령어를 사용하는 것이 좋습니다. 필요에 따라 두 명령어를 함께 활용하면 MySQL 테이블의 스키마를 효율적으로 파악할 수 있습니다.