본문 바로가기
DBMS/MySQL

[MySQL] 특정 칼럼이 어느 테이블에 존재하고 있는지 알아내는 방법

by gf0308 2022. 2. 23.

'dept_no' 이란 칼럼이 있다고 하자.

이 칼럼은 현 DB 안에 어느 테이블에 분명 있지만

어느 스키마의 어느 테이블에 있는지는 모른다.

하지만 이 칼럼이 무슨 칼럼인지 알아내야 하거나 이 칼럼을 갖고 어떤 작업을 해야 할 때 

이게 대체 어디에 있는 칼럼인지 알아내야 한다.

 

이럴 경우 사용할 수 있는 방법으로 INFORMATION_SCHEMA.COLUMNS 테이블을 활용하는 방법이 있다.


ex) 'dept_no' 란 칼럼을 전체 스키마, 테이블에서 찾고자 한다

SELECT c.TABLE_SCHEMA, c.TABLE_NAME, c.COLUMN_NAME 
FROM information_schema.COLUMNS c 
WHERE c.COLUMN_NAME LIKE ('%dept_no%')
;

 

 

information_schema 테이블을 이용해 위 쿼리처럼 해당 칼럼을 검색해보면 다음과 같은 결과가 나온다

INFORMATION_SCHEMA 테이블을 이용해 칼럼을 검색

 

이처럼 information_schema를 테이블의 각 요소들을 편리하게 검색해낼 수 있다.

 

 

'DBMS > MySQL' 카테고리의 다른 글

[MySQL] 문자열 타입의 종류와 CHAR, VARCHAR, NVARCHAR 비교  (0) 2022.02.23