Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 데이터베이스의 테이블 개수를 확인하는 방법

MySQL에서 특정 데이터베이스에 몇 개의 테이블이 존재하는지 확인하고 싶다면, count(*) 함수와 table_schema 개념을 활용하면 간단하게 해결할 수 있습니다. 먼저 SHOW TABLES 명령어로 데이터베이스에 어떤 테이블들이 있는지 살펴본 뒤, INFORMATION_SCHEMA.TABLES를 조회해 정확한 개수를 구하는 순서로 진행합니다.

1단계: SHOW TABLES로 테이블 목록 확인하기

'business' 데이터베이스에 현재 존재하는 테이블들을 확인하려면 다음과 같이 show 명령어를 실행합니다.

mysql> show tables;

실행 결과, 'business' 데이터베이스에 포함된 모든 테이블 이름이 화면에 출력됩니다.

+--------------------------+
| Tables_in_business       |
+--------------------------+
| addcheckconstraintdemo   |
| addcolumntable           |
| addconstraintdemo        |
| addnotnulldemo           |
| alphademo                |
| autoincrement            |
| autoincrementtable       |
| backticksymbol           |
| bookindexes              |
| chardemo                 |
... (중략) ...
| whereconditon            |
| xmldemo                  |
+--------------------------+
132 rows in set (0.01 sec)

출력 결과 하단의 "132 rows in set" 문구에서 알 수 있듯이, 'business' 데이터베이스에는 총 132개의 테이블이 존재합니다.

2단계: INFORMATION_SCHEMA로 테이블 개수 집계하기

테이블 목록을 일일이 눈으로 세는 대신 정확한 개수만 확인하고 싶다면, 아래 쿼리를 사용하면 됩니다.

mysql> SELECT count(*) AS TOTALNUMBEROFTABLES
    -> FROM INFORMATION_SCHEMA.TABLES
    -> WHERE TABLE_SCHEMA = 'business';

실행 결과는 다음과 같습니다.

+---------------------+
| TOTALNUMBEROFTABLES |
+---------------------+
|                 132 |
+---------------------+
1 row in set (0.01 sec)

쿼리 구성 요소 살펴보기

  • INFORMATION_SCHEMA.TABLES: MySQL 서버가 관리하는 메타데이터, 즉 테이블 관련 정보를 담고 있는 시스템 뷰입니다.
  • TABLE_SCHEMA = 'business': 조회 범위를 'business' 데이터베이스로 한정합니다.
  • count(*): 조건에 맞는 행의 개수, 즉 해당 데이터베이스 내 테이블의 총 개수를 집계합니다.

이처럼 INFORMATION_SCHEMA.TABLES를 활용하면 별도의 도구나 프로그램 없이 SQL 한 줄만으로 원하는 데이터베이스의 테이블 개수를 손쉽게 파악할 수 있습니다. 테이블이 많은 운영 환경에서도 빠르고 정확하게 현황을 점검할 때 유용하게 활용할 수 있습니다.