어느 디비 내의 모든 테이블 정보가 필요할 때가 있다. 디비 스키마 문서화라든지의 경우..


https://dev.mysql.com/doc/mysql-infoschema-excerpt/5.7/en/ 를 참고하여,

INFORMATION_SCHEMA 의 여러 옵션 중에서 다른 건 필요할 때 살펴볼만하고..

TABLES와 COLUMNS가 유용하게 쓰였다.


우선, 디비 내 테이블 정보

-- 현재 선택된 디비의 모든 테이블 정보 조회

SHOW TABLE STATUS;

-- 현재 선택된 디비의 해당 테이블에 대한 정보 조회

SHOW TABLE STATUS WHERE NAME='테이블명';


-- TABLE_SCHEMA에 매칭되는 디비명에 대한 모든 테이블 정보 조회

* 테이블이 많은 경우 주의

SELECT *  FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_SCHEMA = '디비명';


-- TABLE_NAME에 매칭되는 테이블명에 대한 테이블 정보 조회

SELECT *  FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_NAME = '테이블명';


테이블의 컬럼 정보

-- 입력된 테이블명에 매칭되는 테이블 컬럼 정보 조회

SHOW FULL COLUMNS FROM 테이블명;


-- TABLE_SCHEMA에 매칭되는 디비명에 대한 모든 테이블 컬럼 정보 조회

* 테이블이 많은 경우 주의

SELECT *  FROM INFORMATION_SCHEMA.COLUMNS  WHERE TABLE_SCHEMA='디비명';


-- TABLE_NAME에 매칭되는 테이블명에 대한 테이블 컬럼 정보 조회

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


응용은 알아서..

+ Recent posts