MySQL에서는 SHOW COLUMNS 문을 사용하면 현재 접속해 있는 데이터베이스와 관계없이, 다른 데이터베이스에 있는 테이블의 열 목록을 간단히 조회할 수 있습니다. 기본 구문은 다음과 같습니다.
구문
SHOW COLUMNS FROM db_name.tab_name
각 요소의 의미는 다음과 같습니다.
- tab_name: 열 목록을 확인하고자 하는 테이블의 이름입니다.
- db_name: 해당 테이블이 저장되어 있는 데이터베이스의 이름입니다.
예제
아래 예제는 현재 'query'라는 데이터베이스를 사용 중인 상태에서, mysql 데이터베이스에 저장된 'arena' 테이블의 열 목록을 가져오는 경우입니다.
mysql> SHOW COLUMNS FROM mysql.arena\G
*************************** 1. row ***************************
Field: id
Type: int(10) unsigned zerofill
Null: NO
Key: PRI
Default: NULL
Extra: auto_increment
*************************** 2. row ***************************
Field: Photo
Type: blob
Null: YES
Key:
Default: NULL
Extra:
2 rows in set (0.00 sec)실행 결과를 보면 각 열에 대해 필드명(Field), 데이터 타입(Type), NULL 허용 여부(Null), 키 정보(Key), 기본값(Default), 추가 속성(Extra) 등이 함께 출력됩니다.
참고 사항
다른 데이터베이스의 테이블 정보를 조회하려면 해당 데이터베이스에 대한 적절한 권한(SELECT 또는 SHOW VIEW 권한 등)이 있어야 합니다. 권한이 없으면 오류가 발생할 수 있습니다. 또한 information_schema.COLUMNS 테이블을 조회하는 방법으로도 동일한 정보를 더 세밀하게 확인할 수 있습니다.