프로젝트를 진행한 후 마무리 단계에서

 

산출물 관련 문서중 테이블 정의서나, 프로시저 정의서를 작성해야 할 때가 있다.

 

매번, 클릭해서 정보 확인하다가, 이번에 귀찮음의 귀찮음을 이기고 기록을 남겨본다.

 

필수정보(개인적으로)들만 조회 쿼리 만들어 보았다.

 

테이블 정보 및 컬럼정보다. (참고로 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

+ Recent posts