Study/Book

[SQL 쿡북] Chapter 5 : 메타 데이터 쿼리 (MYSQL)

HongUniverse 2022. 12. 19. 00:02
반응형
이번장은 특정 RDBMS의 스키마 쿼리만 소개할 예정이다. 해법의 원리를 이해하고, 각각의 RDBMS의 문법을 후에 찾아보는 것이 좋다고 판단하였다.

 

5.1 스키마의 테이블 목록 보기 

스키마란? 

: 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 메타데이터의 집합

 

특정 스키마에서 생성한 모든 테이블 목록을 보고자 한다. SMEAGOL이라는 스키마가 있다고 가정한다. 

PostgreSQL, MySQL, SQL Server

select table_name
	from infromation_schema.tables
  where table_schema = 'SMEAGOL'

 

 

5.2 테이블 열 나열하기 

스키마의 특정 테이블에 열, 유형, 및 숫자 위치를 나열하려고 한다. INFORMATION_SCHEMA.COLUMNS를 쿼리하면 된다.

select column_name, data_type, ordinal_position
    from information_schema.columns
  where TABLE_SCHEMA = 'SMEAGOL'
    and table_name = 'EMP'

 

5.3 테이블의 인덱싱된 열 나열하기 

특정 테이블의 인덱스에서 인덱스 색인, 해당 열 및 열 위치를 나열하려고 한다. SHOW INDEX를 사용한다.

show index from emp

 

5.4 테이블의 제약조건 나열하기

select a.table_name,
       a.constraint_name,
       b.column_name,
       a.constraint_type
   from information_schema.table_constraints a,
        information_schema.KEY_COLUMN_USAGE b
   where a.table_name = 'EMP'
    and  a.table_schema = 'SMEAGOL'
    and a.table_name = b.table_name
    and a.table_schema = b.table_schema 
    and a.constraint_name = b.constraint_name

 

반응형