프로젝트를 진행한 후 마무리 단계에서
산출물 관련 문서중 테이블 정의서나, 프로시저 정의서를 작성해야 할 때가 있다.
매번, 클릭해서 정보 확인하다가, 이번에 귀찮음의 귀찮음을 이기고 기록을 남겨본다.
필수정보(개인적으로)들만 조회 쿼리 만들어 보았다.
테이블 정보 및 컬럼정보다. (참고로 INFORMATION_SCHEMA.TABLES는 테이블 정보)
SELECT UPPER(TABLE_NAME), COLUMN_NAME
, COLUMN_COMMENT
, DATA_TYPE
, CASE WHEN DATA_TYPE = 'datetime' THEN ''
ELSE REPLACE(substring(COLUMN_TYPE, INSTR(COLUMN_TYPE, '(') + 1), ')', '')
END AS LENGTH
, IS_NULLABLE
, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='db_schema' AND TABLE_NAME='table_name';
db_schema는 DB명을 입력하면 되고 table_name은 테이블명을 입력하면 된다.
다음은, 프로시저와 파라미터 정보다
SELECT A.ROUTINE_NAME
, A.ROUTINE_TYPE
, B.PARAMETER_MODE
, B.DATA_TYPE
, B.PARAMETER_NAME
, B.DTD_IDENTIFIER
, A.ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES A
JOIN INFORMATION_SCHEMA.PARAMETERS B ON B.SPECIFIC_CATALOG = A.ROUTINE_CATALOG
AND B.SPECIFIC_NAME = A.ROUTINE_NAME
WHERE A.ROUTINE_SCHEMA = 'db_schema'
AND A.ROUTINE_CATALOG = 'def'
AND A.ROUTINE_TYPE = 'PROCEDURE'
;
db_schema는 DB명을 입력하면 된다
'Database > MYSQL' 카테고리의 다른 글
[MYSQL] 특정기간 일(목록) 구하기 (0) | 2022.07.29 |
---|---|
[MYSQL] Operand should contains 1 column(s) (0) | 2022.04.06 |
MYSQL 버전 확인하는 방법 (0) | 2022.03.16 |