반응형
Mysql 테이블 정의서 만드는 쿼리 입니다.
SELECT
a.TABLE_NAME '테이블명',
b.ORDINAL_POSITION '순번',
b.COLUMN_NAME '필드명',
b.DATA_TYPE 'DATA TYPE',
b.COLUMN_TYPE '데이터길이',
b.COLUMN_KEY 'KEY',
b.IS_NULLABLE 'NULL값여부',
b.EXTRA '자동순번',
b.COLUMN_DEFAULT '기본값',
b.COLUMN_COMMENT '필드설명'
FROM information_schema.TABLES a
JOIN information_schema.COLUMNS b
ON a.TABLE_NAME = b.TABLE_NAME
AND a.TABLE_SCHEMA = b.TABLE_SCHEMA
WHERE a.TABLE_SCHEMA = 'Database명'
-- AND a.TABLE_NAME = '테이블명' // 특정 테이블만 조회시
ORDER BY a.TABLE_NAME, b.ORDINAL_POSITION
쿼리 결과가 나오면 엑셀로 복사 붙여넣기 해서 정리하면 되겠습니다.
테이블 정의서 양식 중 제일 괜찮은것 업로드 해 놓겠습니다.
테이블 명세서 양식.xlsx
0.01MB
아래는 오라클용이라고 해서 긁어 왔습니다. 참고하세요.
Oracle
SELECT A.TABLE_NAME AS TABLE_NAME,
A.TAB_CMT AS 테이블설명,
A.COLUMN_ID AS 컬럼순서,
B.POS AS PK,
A.NULLABLE AS NULL여부,
A.COLUMN_NAME AS 컬럼명,
A.COL_CMT AS 컬럼설명,
A.DATA_TYPE AS 데이터유형,
A.데이터길이,
A.DATA_DEFAULT AS 기본값
FROM
(SELECT S1.TABLE_NAME,
S3.COMMENTS AS TAB_CMT,
S1.COLUMN_NAME,
S2.COMMENTS AS COL_CMT,
S1.DATA_TYPE,
CASE WHEN S1.DATA_PRECISION IS NOT NULL THEN DATA_PRECISION||','||DATA_SCALE
ELSE TO_CHAR(S1.DATA_LENGTH)
END AS 데이터길이,
NULLABLE,
COLUMN_ID,
DATA_DEFAULT
FROM USER_TAB_COLUMNS S1,
USER_COL_COMMENTS S2,
USER_TAB_COMMENTS S3
WHERE S1.TABLE_NAME = S2.TABLE_NAME
AND S1.COLUMN_NAME = S2.COLUMN_NAME
AND S2.TABLE_NAME = S3.TABLE_NAME ) A,
(SELECT T1.TABLE_NAME, T2.COLUMN_NAME, 'PK' AS POS
FROM (SELECT TABLE_NAME, CONSTRAINT_NAME
FROM USER_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'P' )T1,
(SELECT TABLE_NAME, CONSTRAINT_NAME, COLUMN_NAME, POSITION
FROM USER_CONS_COLUMNS ) T2
WHERE T1.TABLE_NAME = T2.TABLE_NAME
AND T1.CONSTRAINT_NAME = T2.CONSTRAINT_NAME ) B
WHERE A.TABLE_NAME = B.TABLE_NAME(+)
AND A.COLUMN_NAME = B.COLUMN_NAME(+)
ORDER BY A.TABLE_NAME, A.COLUMN_ID
반응형
'mysql' 카테고리의 다른 글
mysql 데이터 삭제해도 디스크가 그대로 일 경우 해결책 (0) | 2025.03.14 |
---|---|
리눅스 mysql 백업 스크립트 (0) | 2025.02.13 |
MYSQL FEDERATED 사용방법 (다른 서버 디비의 테이블 조회, 연결) (0) | 2024.08.07 |
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements (1) | 2023.11.21 |
phpMyAdmin 설치 방법 (2023년 9월) (0) | 2023.09.25 |