MySQL 테이블 명세서 추출 쿼리

 

Summry

본 문서에서는 mysql workbench에서 쿼리를 이용하여 이용하여 테이블 명세서 만드는 방법을 정리한다.

send me email if you have any questions.


테이블명세서란 각 테이블의 사용목적, 이름, 작성자, 비고사항 등의 테이블에 대한 기록 뿐만 아니라 테이블에 포함된 각 컬럼의 이름, 데이터 타입 및 제약조건을 기록한 문서양식을 말한다.
일반적으로 엑셀에 정리를 하는데 테이블의 이름, 설명, 칼럼 등을 직접 타이핑하기에는 시간도 오래 걸리고 오타 등 실수가 있을 수 있다. 하지만 아래에서 설명할 쿼리를 이용해 테이블의 정보를 추출하면 복사·붙여넣기를 사용해 쉽게 정리할 수 있다.

query form

SELECT
   t1.table_name, t1.table_comment, column_name, data_type, column_type, column_key, is_nullable, column_default, extra, column_comment
FROM
   (SELECT
       table_name, table_comment
    FROM
       information_schema.TABLES WHERE table_schema='스키마명') t1,
   (SELECT
       table_name, column_name, data_type, column_type, column_key, is_nullable, column_default, extra, column_comment, ordinal_position
    FROM
       information_schema.COLUMNS WHERE table_schema='스키마명') t2
WHERE
    t1.table_name = t2.table_name
ORDER BY
    t1.table_name, ordinal_position;

중간에 주황색글씨로 ‘스키마명’ 이라고 되있는 부분을 자신의 스키마로 변경해서 실행

사용 예

그림1

mysql 설치 시 기본으로 존재하는 world database에 대한 명세를 추출해본 예제이다.

결과를 복사해 엑셀에 정리하면 테이블 명세서를 쉽게 만들 수 있다.

Reference

[mysql] 테이블명세서 추출 쿼리 정리!! - GoodDayDeveloper