MySQL에서 테이블 구조 조회하기

LeeYulhee·2024년 2월 5일

👉 테이블 구조 조회 쿼리


SELECT *
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE TABLE_NAME = '테이블 이름'
;


👉 결과 해석 : 컬럼의 의미


  • 아래 같은 컬럼들이 출력됨
  • 각 컬럼별 의미
    • TABLE_CATALOG
      • 테이블이 속한 카탈로그(데이터베이스 시스템에 따라 다름)
    • TABLE_SCHEMA
      • 테이블이 속한 스키마(데이터베이스 이름과 같을 수 있음)
    • TABLE_NAME
      • 컬럼이 속한 테이블의 이름
    • COLUMN_NAME
      • 컬럼의 이름
    • ORDINAL_POSITION
      • 테이블에서의 컬럼 순서
    • COLUMN_DEFAULT
      • 필드의 기본값
      • 특정 값을 지정하지 않았을 때 사용되는 값
    • IS_NULLABLE
      • 필드가 NULL 값을 허용하는지 여부 ('YES' 또는 'NO')
    • DATA_TYPE
      • 컬럼의 데이터 타입만 표시
      • 예시 : VARCHAR
    • CHARACTER_MAXIMUM_LENGTH
      • 문자형 필드의 최대 길이
      • 예를 들어, VARCHAR(255)라면 255가 이 값
    • CHARACTER_OCTET_LENGTH
      • 문자형 필드가 사용하는 최대 바이트 수
      • 이 값은 문자 인코딩에 따라 CHARACTER_MAXIMUM_LENGTH와 다를 수 있음
    • NUMERIC_PRECISION
      • 숫자형 필드의 최대 정밀도(총 자릿수)
    • NUMERIC_SCALE
      • 숫자형 필드의 소수점 이하 자릿수
    • DATETIME_PRECISION
      • 날짜 및 시간 타입 필드의 정밀도
    • CHARACTER_SET_NAME
      • 필드에 사용된 문자 세트
      • 예시 : utf8, latin1
    • COLLATION_NAME
      • 필드에 사용된 정렬 순서
    • COLUMN_TYPE
      • 컬럼의 데이터 타입과 길이/크기
      • 예시 : VARCHAR(255)
    • COLUMN_KEY
      • 인덱스 정보
      • 'PRI'는 기본 키(primary key), 'UNI'는 고유 키(unique key), 'MUL'은 인덱스가 있음을 의미
    • EXTRA
      • 해당 필드에 대한 추가 정보
      • 예를 들어, auto_increment가 이 값에 포함될 수 있음
    • PRIVILEGES
      • 해당 컬럼에 대한 사용자 권한
    • COLUMN_COMMENT
      • 컬럼에 대한 주석 또는 설명
    • IS_GENERATED
      • 해당 필드가 생성된 컬럼인지 여부
        • 생성된 컬럼이란 사용자가 직접 입력하는 데이터가 아니라 다른 컬럼의 데이터를 기반으로 계산되거나 변환되어 자동으로 생성되는 컬럼을 의미
        • 예를 들어, 특정 테이블에 '생성일'과 '수정일' 컬럼은 사용자가 직접 값을 입력하지 않아도 데이터베이스 시스템에 의해 자동으로 생성되고 관리됨
        • 이 컬럼은 이러한 생성된 컬럼의 존재 여부를 나타내며, 이 값이 'YES'라면 해당 필드는 사용자가 아닌 시스템에 의해 자동 생성되는 값이라는 것을 의미
    • GENERATION_EXPRESSION
      • 생성된 컬럼(generated column)의 경우, 이 컬럼을 생성하기 위한 표현식을 나타냄
profile
끝없이 성장하고자 하는 백엔드 개발자입니다.

0개의 댓글