DB가 복잡해지다보면, 모든 스키마를 외우고 있을 수는 없다.
그래서 테이블들의 스키마를 조회하게되는 경우가 많아지는데, 그 중에서도 실무에서 자주 사용하는 테이블에 적용되어있는 Key 특성을 조회하는 쿼리들을 정리해보았다.
(1) SHOW INDEXES IN "table이름"
: 해당 DB 내에서 사용해야하며, 테이블에 정의되어있는 Key 가 걸려있는 Column과, Cardinality 등까지 자세한 정보를 제공해준다.
(2) SELECT * FROM Information_schema.table_constraints
: DB를 관리할 수 있다면 Information Schema 를 조회하는 방법은 알아두는게 좋다. 굳이 포스팅에서 다루는 Key 조회 이외에도 Information Schema 는 많은 정보를 담고 있다.
다음과 같이 테이블에 대한 정보를 얻어낼 수 있다.
SELECT * FROM Information_schema.table_constraints WHERE table_schema="db이름”;
SELECT * FROM Information_schema.table_constraints WHERE table_schema="db이름” AND table_name="table이름";
(3) SHOW CREATE TABLE "table이름";
: 이 쿼리가 사실 만능이라고 여겨진다. (강조) 세부적인 정보를 도출하기는 힘들지만, 가장 쉽게 자주 필요한 정보들을 조회할 수 있다.
이 쿼리는 테이블 생성 쿼리를 그대로 보여준다.
개인적으로 가장 많이 사용하는 쿼리는 3번의 SHOW CREATE TABLE 구문이지만, 가장 강력한 건 Information_schema 정보를 다룰줄 아는것이다.
다양한 MySQL 의 시스템 테이블들과의 JOIN 연산을 통해 스키마 정보를 디테일하게 추출해낼 수 있으며, 이는 좀 더 자세하게 다룰 예정이다.
'Database > MySQL' 카테고리의 다른 글
Database Replication 전반에 대한 이해 (0) | 2018.10.02 |
---|---|
MySQL의 Transaction Isolation Level 에 대하여 (0) | 2018.09.19 |
MySql 기본 쿼리문들 정리 (1) | 2018.08.27 |
MySQL 에서의 Bulk Inserting 성능 향상 (0) | 2018.08.27 |
MySQL을 이용한 만든 시간, 수정 시간 로직 구현 (0) | 2018.08.27 |