본문 바로가기
Language/SQL

[MySQL] 테이블 정보(스키마) 조회

by 박살낼겨 2022. 2. 25.

TABLE의 정보를 조회하고자 할 때 INFORMATION_SCHEMA를 이용할 수 있다.

 

예시를 통해 결과를 보면 다음과 같다.

 

SELECT *
FROM   INFORMATION_SCHEMA.COLUMNS
WHERE  TABLE_NAME = '조회하고싶은 테이블명'
;

<복붙용>
SELECT *
FROM   INFORMATION_SCHEMA.COLUMNS
WHERE  TABLE_NAME = ''
;

**조회결과**
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
ORDINAL_POSITION
COLUMN_DEFAULT
IS_NULLABLE
DATA_TYPE
CHARACTER_MAXIMUM_LENGTH
CHARACTER_OCTET_LENGTH NUMERIC_PRECISION
NUMERIC_SCALE
DATETIME_PRECISION
CHARACTER_SET_NAME
COLLATION_NAME
COLUMN_TYPE
COLUMN_KEY
EXTRA
`PRIVILEGES`
COLUMN_COMMENT
IS_GENERATED
GENERATION_EXPRESSION

 

 

위 처럼 많은 컬럼이 나오지만 필요한 컬럼만 조회해서 사용하자.

 

SELECT COLUMN_NAME, COLUMN_KEY, COLUMN_TYPE, IS_NULLABLE 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = SCHEMA()
AND TABLE_NAME = '조회하고싶은 테이블 명'
ORDER BY ORDINAL_POSITION
;

<복붙용>
SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_KEY, IS_NULLABLE , COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = SCHEMA()
AND TABLE_NAME = ''
ORDER BY ORDINAL_POSITION
;

** 조회결과 **

COLUMN_NAME COLUMN_KEY COLUMN_TYPE IS_NULLABLE
column1 PRI bigint(20) NO
column2 MUL varchar(200) NO