728x90
테이블을 DB에 들어가서 보는 것이 아닌 문서로 빠르게 찾아보기 위해서 정리하기로 했다.
하나하나씩 컬럼을 확인해서 적을 수는 없기 때문에 쿼리로 추출을 할 수 있다.
나중에 후임을 위해서라도,,?
기본적인 정보를 다 담고 싶었고 쿼리가 길다..
스키마 전체 테이블 추출
SELECT
t1.table_name as '테이블명(영문)',
t1.table_comment as '테이블명(한글)',
t2.column_name as '컬럼명(영문)',
t2.column_comment as '컬럼명(한글)',
t2.column_type as '데이터 타입',
t2.column_key as 'key 타입',
t2.extra as '컬럼 옵션',
t2.is_nullable as 'Null 가능 여부',
t2.column_default as '기본 값',
t3.index_name as '인덱스명',
t3.index_type as '인덱스타입'
FROM
(SELECT
table_name, table_comment
FROM
information_schema.TABLES
WHERE
table_schema = '스키마 이름' ) t1
JOIN
(SELECT
table_name,
column_name,
data_type,
column_type,
column_key,
is_nullable,
column_default,
extra,
column_comment,
ordinal_position
FROM
information_schema.COLUMNS
WHERE
table_schema = '스키마 이름') t2
ON
t1.table_name = t2.table_name
LEFT JOIN
(SELECT
table_name,
column_name,
index_name,
index_type
FROM
information_schema.STATISTICS
WHERE
table_schema = '스키마 이름') t3
ON
t1.table_name = t3.table_name AND t2.column_name = t3.column_name
ORDER BY t1.table_name , t2.ordinal_position;
특정 테이블만 추출
SELECT
t1.table_name as '테이블명(영문)',
t1.table_comment as '테이블명(한글)',
t2.column_name as '컬럼명(영문)',
t2.column_comment as '컬럼명(한글)',
t2.column_type as '데이터 타입',
t2.column_key as 'key 타입',
t2.extra as '컬럼 옵션',
t2.is_nullable as 'Null 가능 여부',
t2.column_default as '기본 값',
t3.index_name as '인덱스명',
t3.index_type as '인덱스타입'
FROM
(SELECT
table_name, table_comment
FROM
information_schema.TABLES
WHERE
table_schema = '스키마 이름'
AND table_name IN ('테이블 이름')) t1
JOIN
(SELECT
table_name,
column_name,
data_type,
column_type,
column_key,
is_nullable,
column_default,
extra,
column_comment,
ordinal_position
FROM
information_schema.COLUMNS
WHERE
table_schema = '스키마 이름') t2
ON
t1.table_name = t2.table_name
LEFT JOIN
(SELECT
table_name,
column_name,
index_name,
index_type
FROM
information_schema.STATISTICS
WHERE
table_schema = '스키마 이름') t3
ON
t1.table_name = t3.table_name AND t2.column_name = t3.column_name
ORDER BY t1.table_name , t2.ordinal_position;
결과물
728x90
SMALL
'Database & Data > MySQL' 카테고리의 다른 글
MySQL Root 계정 비밀번호 설정과 확인 방법(mysql_config_editor) (0) | 2023.06.25 |
---|---|
AWS EC2에 MySQL 8 Community Edition 설치하기 (0) | 2023.06.20 |
MySQL에서 플러그인과 컴포넌트란? (0) | 2023.06.12 |
생각나는 MySQL 명령어 파보기 - 4 (0) | 2023.06.12 |
생각나는 MySQL 명령어 파보기 - 3 (0) | 2023.06.02 |