예를 들어, 여기서는 WEB이라는 데이터베이스를 사용한다고 가정해 보겠습니다. 이 데이터베이스에 포함된 테이블의 개수를 확인하려면 MySQL에서 제공하는 INFORMATION_SCHEMA.TABLES를 활용하면 됩니다.
INFORMATION_SCHEMA는 MySQL 서버가 관리하는 모든 데이터베이스, 테이블, 컬럼 등의 메타데이터 정보를 담고 있는 시스템 스키마입니다. 이를 조회하면 별도의 관리 도구 없이 SQL만으로 원하는 정보를 손쉽게 얻을 수 있습니다.
테이블 개수를 조회하는 쿼리
다음은 WEB 데이터베이스에 속한 테이블의 총 개수를 표시하는 쿼리입니다.
mysql> select count(table_name) as TotalNumberOfTablesInWebDatabase
-> from information_schema.tables
-> where table_schema='web';
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+----------------------------------+
| TotalNumberOfTablesInWebDatabase |
+----------------------------------+
| 1562 |
+----------------------------------+
1 row in set (0.27 sec)
결과를 보면 WEB 데이터베이스에는 총 1,562개의 테이블이 존재하는 것을 확인할 수 있습니다.
SHOW TABLES 명령어로 결과 검증하기
위에서 조회한 테이블 개수가 실제 값과 일치하는지 간단히 검증하고 싶다면 SHOW TABLES 명령어를 사용할 수 있습니다. 이 명령어는 해당 데이터베이스의 모든 테이블 목록을 출력하며, 목록 마지막에 전체 테이블 개수도 함께 표시해 줍니다.
mysql> use web;
mysql> show tables;
이처럼 INFORMATION_SCHEMA를 이용한 COUNT 쿼리와 SHOW TABLES 명령어를 함께 활용하면, 데이터베이스 내 테이블 개수를 정확하게 파악하고 교차 검증까지 할 수 있습니다.