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 연산을 통해 스키마 정보를 디테일하게 추출해낼 수 있으며, 이는 좀 더 자세하게 다룰 예정이다. MySQL MariaDB/DB,Table 정보 2021. 8. 13. #--- primary, foreign key 조회 (테이블별)SELECT * FROM information_schema.table_constraints WHERE table_name = '테이블명'; #--- primary, foreign key 조회 (테이터베이스 별)SELECT * FROM information_schema.table_constraints WHERE constraint_schema = '테이블명';
https://docs.microsoft.com/en-us/sql/relational-databases/system-information-schema-views/table-constraints-transact-sql?view=sql-server-ver15 https://mariadb.com/kb/en/information-schema-table_constraints-table/
|