본문 바로가기
DEV/Database

[MySQL] 테이블 및 컬럼 정보 쉽게 확인하기

by JJHstack 2024. 10. 8.
728x90
반응형

 

개발을 하다 보면 DB 테이블이나 컬럼 정보를 직접 조회해야 할 일이 자주 생깁니다.

  • AS-IS 테이블 정의서를 작성할 때
  • 기존 테이블 구조를 파악할 때
  • 컬럼의 의미나 타입이 궁금할 때
    등등…

매번 MySQL Workbench나 phpMyAdmin을 열고 하나하나 클릭하기보다는,
간단한 SQL로 빠르게 조회해서 정리하는 것이 훨씬 효율적입니다.

 

 

📌 기준: MySQL

📂 1. 데이터베이스 내 테이블 목록 조회

SELECT 
    @rownum := @rownum + 1 AS `No.`,
    TABLE_NAME AS `테이블명`,
    TABLE_COMMENT AS `테이블 코멘트`
FROM 
    INFORMATION_SCHEMA.TABLES,
    (SELECT @rownum := 0) r
WHERE 
    TABLE_SCHEMA = 'your_database_name'; -- 여기에 데이터베이스 이름 입력

✅ 설명

  • INFORMATION_SCHEMA.TABLES: MySQL에서 테이블 메타정보를 가지고 있는 시스템 테이블입니다.
  • TABLE_SCHEMA: 조회할 데이터베이스 이름
  • TABLE_NAME: 테이블 이름
  • TABLE_COMMENT: 테이블에 작성된 주석 (없으면 빈값)

🔸 @rownum을 사용해 자동으로 번호를 붙여주면 엑셀 등에서 보기 좋습니다.

 

 

📋 2. 특정 테이블의 컬럼 정보 조회

SELECT 
    ORDINAL_POSITION AS `No.`,
    COLUMN_NAME AS `컬럼명`,
    COLUMN_COMMENT AS `설명`,
    DATA_TYPE AS `데이터타입`,
    CHARACTER_MAXIMUM_LENGTH AS `길이`,
    CASE WHEN COLUMN_KEY = 'PRI' THEN 'Y' ELSE 'N' END AS `PK`,
    CASE WHEN IS_NULLABLE = 'YES' THEN 'N' ELSE 'Y' END AS `NOT NULL`,
    COALESCE(COLUMN_DEFAULT, 'NULL') AS `Default`
FROM 
    INFORMATION_SCHEMA.COLUMNS
WHERE 
    TABLE_NAME = 'your_table_name' AND 
    TABLE_SCHEMA = 'your_database_name' -- 여기에 데이터베이스 이름 입력
ORDER BY 
    ORDINAL_POSITION;

✅ 설명

  • COLUMN_NAME: 컬럼 이름
  • COLUMN_COMMENT: 컬럼에 작성된 설명 (주석)
  • DATA_TYPE: 데이터 타입 (int, varchar 등)
  • CHARACTER_MAXIMUM_LENGTH: 문자열 타입일 경우 최대 길이
  • PK: Primary Key 여부 (Y/N)
  • NOT NULL: 널 허용 여부 (Y/N)
  • Default: 기본값 (없으면 NULL 출력)

📎 테이블 구조를 문서화하거나 시스템 정리할 때 유용하게 활용할 수 있습니다.

 

📌 마무리

  • INFORMATION_SCHEMA는 모든 MySQL에서 기본 제공되는 메타 데이터 뷰입니다.
  • 조회 결과를 복사해서 엑셀에 붙여 넣거나 문서화에 활용하면 생산성이 크게 향상됩니다.
  • 개발, 운영, 기획 등 모든 부서에서 유용하게 사용할 수 있는 DB 리버스 엔지니어링 도구라고 볼 수 있습니다.
728x90
반응형

댓글