Mysql Schema 엑셀로 저장하기 (테이블 구조 저장)
테이블 명세서등을 만들때 기존에 구축해놓은 데이터 베이스의 목록을 뽑아야 할 필요가 생긴다.
이때 사용하는 쿼리
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE /* ETC */
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA NOT IN ('information_schema', 'performance_schema', 'mysql')
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
Where의 not in 조건에 목록에서 빠져야하는 다른 디비가 있다면 쭉 적어주면 된다.
기본적으로 적혀있는 세개의 테이블은 기본 설정 테이블이라서 항상 적히게 된다.
보통 칼럼을 적을때 사이즈를 같이 표시 하게 되는데 이때는
SELECT
TABLE_SCHEMA,
TABLE_NAME,
COLUMN_NAME,
CONCAT(DATA_TYPE,'(',IFNULL(CHARACTER_MAXIMUM_LENGTH,IFNULL(NUMERIC_PRECISION,'')),')') TYPE,
IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA NOT IN ('information_schema', 'performance_schema', 'mysql', 'isb_stg', 'isb_prd')
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
이런식으로 만들어주면 된다.
나온 데이터를 전체 선택하고 export~