728x90
반응형
NFORMATION_SCHEMA.COLUMNS 을 이용하여
특정 테이블의 컬럼 목록과 특정 컬럼 존재 여부를 확인해보자.
우선 PostgreSQL의 구조를 보면 알겠지만
데이터베이스 내에 Schemas 안에 여러 그룹(?) 이 존재하며 각각 테이블 목록이 존재한다.
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
라는 구문을 사용하면 모든 SCHEMA 안에 있는 컬럼 정보들을 가져오는데 그 컬럼 정보들은
table_catalog, table_schema, table_name, column_name, ... 말그대로 테이블 정보를 전부 가져온다.
이 구문을 이용하여 where 조건을 걸어주어 특정 테이블 정보와, 특정 테이블의 컬럼 존재 여부를 확인할 수 있다.
▷예제1) 특정 테이블 정보
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'target_table'
'target_table' 부분에 원하는 테이블을 넣어주면 해당 테이블의 정보를 읽어온다.
▷예제2) 특정 테이블의 특정 컬럼 존재 여부 확인
SELECT count(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'target_table'
AND COLUMN_NAME = 'target_column'
728x90
반응형
'데이터베이스 > Postgresql' 카테고리의 다른 글
[PostgreSQL] 원격접속시 오류 발생할때 처리 (0) | 2021.07.26 |
---|---|
[PostgresSQL] postgresql 백업 및 복원 (0) | 2021.07.21 |
조건에 따른 값 보여주기 (0) | 2021.07.17 |
[PostgreSQL] 다른테이블 복사하여 새로운 테이블 생성 (0) | 2021.07.17 |
[PostgreSQL] 데이터 있으면 update 없으면 insert (0) | 2021.07.17 |
댓글