요약
- 특정 schema에 속한 컬럼, 함수, 시퀀스, 테이블 정보 조회
ROUTINES,TABLES,SEQUENCES,COLUMNS,table_constraints,key_column_usage
1. 함수 목록
SELECT routine_schema, routine_name, routine_type
FROM INFORMATION_SCHEMA.ROUTINES
WHERE routine_type = 'FUNCTION'; -- 또는 'PROCEDURE'2. 테이블 목록
-- 특정 스키마 내 테이블 목록
SELECT table_schema, table_name
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = '스키마명';
-- VIEW 테이블만
SELECT table_schema, table_name, table_type
FROM INFORMATION_SCHEMA.TABLES
WHERE table_type = 'VIEW';3. 컬럼 목록
-- 특정 테이블 내 컬럼 목록
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = '테이블명';
-- 특정 컬럼 존재 여부
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = '테이블명' AND column_name = '컬럼명';
-- amt로 끝나는 열 목록
SELECT table_name, column_name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = '테이블명' AND column_name LIKE '%amt';4. PK 제약조건 조회
SELECT a.constraint_schema,
a.constraint_name,
a.table_name,
b.column_name
FROM information_schema.table_constraints a
LEFT JOIN information_schema.key_column_usage b
ON a.constraint_name = b.constraint_name
WHERE a.constraint_type = 'PRIMARY KEY';참고사이트