본문 바로가기
컴퓨터관련/Oracle

[Oracle]테이블 정보 확인 및 검색하기

by 빛과 어둠사이 2024. 2. 14.
728x90
반응형
SMALL

오늘은 오라클에서 특정 테이블의 정보를

쿼리를 이용하여 검색하고 

확인하는 방법에 대해서 정리를 해보고자 합니다.

 

순수 테이블 정보만 보기 위해서는

여러 DB툴 등에서 확인할 수 있겠지만

쿼리를 이용하면 DB툴이 없을 때도 확인할 수 있고

특정 컬럼을 포함한 테이블등도 모두 조회할 수 있어서 알고 있으면 좋을 것 같습니다.

 

그래서 오늘은 Oracle에서 제공하는 기본 Table을 이용하여

확인하고 검색하는 방법을 정리해보고자 합니다.

 

 

1. Table 기본 정보 확인하기

우선 Table Name을 이용하여 

해당 테이블의 기본 정보를 확인하는 방법을 정리해보고자 합니다.

해당 테이블의 기본적인 정보를 조회하는 방법입니다.

 

쿼리는 다음과 같습니다.

SELECT * FROM ALL_COL_COMMENTS 
WHERE TABLE_NAME = '테이블명'
;

위 쿼리를 이용해주시면 되십니다.

테이블명 위치에 검색하고자 하는 테이블의 이름을 입력해주시면 되십니다.

 

저는 위처럼 쿼리를 작성하였습니다.

제가 실제 운영하고 있는 DB이다 보니 TABLE NAME은 숨겨놓았습니다.

위처럼 쿼리를 작성하고 실행을 하게 되면

결과는 아래처럼 나오게 됩니다.

 

위처럼 나오게 됩니다.

해당 테이블의 오너는 누구이며, 테이블 이름이름, 컬럼 정보 등

기본적인 정보들이 나오게 됩니다.

 

 

 

 

2. 테이블명으로 상세정보 확인하기

1번에서는 기본적인 정보만 확인해보았습니다.

저는 개인적으로 테이블 정보를 확인할 때 중요하게 보는 것이 데이터타입입니다.

타입은 어떻게 설정되어 있으며,

길이는 어느정도인지 등 많이 보게 됩니다.

그런데 1번의 쿼리를 가지고는 확인할 수 없습니다.

상세 정보까지 확인하기 위해서 아래처럼 쿼리를 작성하였습니다.

 

SELECT
A.COLUMN_ID ,
A.COLUMN_NAME ,
B.COMMENTS ,
A.DATA_TYPE ||
(CASE
WHEN DATA_TYPE LIKE '%CHAR%' THEN '(' || DATA_LENGTH || ')'
WHEN DATA_TYPE = 'NUMBER' AND DATA_PRECISION > 0 AND DATA_SCALE > 0 THEN '(' || DATA_PRECISION || ',' || DATA_SCALE || ')'
WHEN DATA_TYPE = 'NUMBER' AND DATA_PRECISION > 0 THEN '(' || DATA_PRECISION || ')'
END) DATA_TYPE ,
DECODE(NULLABLE, 'N', 'N') NULLABLE
FROM
ALL_TAB_COLUMNS A 
INNER JOIN ALL_COL_COMMENTS B ON A.OWNER = B.OWNER AND A.TABLE_NAME = B.TABLE_NAME AND A.COLUMN_NAME = B.COLUMN_NAME 
WHERE
A.TABLE_NAME = '테이블명'
ORDER BY
A.COLUMN_ID
;

위처럼 쿼리를 작성해보았습니다.

테이블명 란에 원하는 TABLE NAME을 넣고 검색을 하게 되면

해당 테이블의 상세 정보를 확인할 수 있습니다.

 

위처럼 쿼리를 작성하였습니다.

1번에서처럼 테이블의 이름은 숨겨놓았습니다.

그리고 실행을 하게 되면

결과는 아래처럼 나오게 됩니다.

 

위처럼 나와지는 것을 확인할 수 있습니다.

해당 테이블의 컬럼은 어느 컬럼들이 있고,

데이터 타입은 어떻게 설정이 되어있는지 등을

확인할 수 있습니다.

 

반응형

 

3. 컬럼 설명으로 포함되어있는 테이블 검색하기

이번에는 query를 통하여

특정 컬럼의 설명(commend)를 사용하고 있는 테이블 및

컬럼 등의 정보를 확인하는 방법을 정리해보고자 합니다.

 

쿼리는 다음과 같습니다.

SELECT
A.COLUMN_ID ,
A.TABLE_NAME ,
A.COLUMN_NAME ,
B.COMMENTS ,
A.DATA_TYPE ||
(CASE
WHEN DATA_TYPE LIKE '%CHAR%' THEN '(' || DATA_LENGTH || ')'
WHEN DATA_TYPE = 'NUMBER' AND DATA_PRECISION > 0 AND DATA_SCALE > 0 THEN '(' || DATA_PRECISION || ',' || DATA_SCALE || ')'
WHEN DATA_TYPE = 'NUMBER' AND DATA_PRECISION > 0 THEN '(' || DATA_PRECISION || ')'
END) DATA_TYPE ,
DECODE(NULLABLE, 'N', 'N') NULLABLE
FROM
ALL_TAB_COLUMNS A 
INNER JOIN ALL_COL_COMMENTS B ON A.OWNER = B.OWNER AND A.TABLE_NAME = B.TABLE_NAME AND A.COLUMN_NAME = B.COLUMN_NAME 
WHERE
B.COMMENTS = '검색할COMMENTS'
ORDER BY
A.COLUMN_ID
;

위처럼 쿼리를 작성하였습니다.

검색할 comments 란에 검색하고자 하는 설명(commend)를 입력해주시면 되십니다.

그러면 해당 설명으로 설정한 모든 테이블의 컬럼 정보를 가져오게 됩니다.

 

위처럼 작성하고 실행을 해보았습니다.

저는 설명이 "사..."로 시작하는 컬럼들에 대해서

검색을 해보았습니다.

query에서는 정상적으로 다 입력을 하였으나,

제가 운영중인 DB이다보니 숨겨놓았습니다.

 

위처럼 쿼리를 작성하고 

실행을 하게 되면 결과는 아래처럼 나오게 됩니다.

 

위처럼 나와지는 것을 확인할 수 있습니다.

 

table name, column name 등도 확인할 수 있습니다.

이런 식으로 위 쿼리를 이용하면

컬럼명으로 검색, 데이터 타입으로 검색 등도

다 사용할 수 있을 것 같습니다.

 

SMALL

 

오늘은 오라클에서 query를 이용하여

테이블 정보 확인 및 검색하는 방법을 정리해보았습니다.

3번에서 제가 말한 것처럼 위 쿼리를 이용하여

다른 정보들도 검색할 수 있을 것 같습니다.

 

 

이상으로 오라클에서 테이블 정보 및 검색하는 방법이였습니다~

 

 

 

 

 

그림으로 공부하는 오라클 구조, 제이펍

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다

 

728x90
반응형
LIST