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

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

MySQL에서 테이블과 열 개수 정확히 세기

MySQL 데이터베이스에 존재하는 테이블과 열(컬럼)의 정확한 개수를 확인하려면 COUNT() 함수 안에 DISTINCT를 함께 사용하면 됩니다. 이 방법은 중복 없이 실제 테이블 수를 집계하고, 전체 열의 개수도 동시에 구할 수 있어 매우 유용합니다.

기본 원리

MySQL은 INFORMATION_SCHEMA.COLUMNS라는 시스템 뷰를 통해 모든 데이터베이스의 테이블과 열 정보를 메타데이터 형태로 제공합니다. 이 뷰를 조회하면 별도의 관리 명령 없이 SQL 쿼리만으로 원하는 통계를 얻을 수 있습니다.

예제: 'sample' 데이터베이스 조회하기

예를 들어 'sample'이라는 데이터베이스가 있고, 여기에 포함된 테이블 수와 열 수를 정확하게 구해야 한다고 가정해 보겠습니다. 이 경우 다음과 같은 쿼리를 사용합니다.

mysql> SELECT COUNT(DISTINCT TABLE_NAME) AS TotalTable, Count(Column_Name) AS TOTALColumn
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE TABLE_SCHEMA = 'sample';

여기서 COUNT(DISTINCT TABLE_NAME)은 중복을 제거한 고유한 테이블의 개수를, COUNT(Column_Name)은 해당 데이터베이스에 속한 열의 총 개수를 계산합니다.

실행 결과

쿼리를 실행하면 'sample' 데이터베이스의 테이블 수와 열 수가 다음과 같이 출력됩니다.

+------------+-------------+
| TotalTable | TOTALColumn |
+------------+-------------+
| 123 | 287 |
+------------+-------------+
1 row in set (0.02 sec)

결과를 해석해 보면, 'sample' 데이터베이스에는 총 123개의 테이블이 있으며, 이 테이블들을 합쳐 287개의 열이 존재한다는 의미입니다.

참고 사항

특정 데이터베이스가 아닌 MySQL 서버 전체의 통계가 필요하다면 WHERE TABLE_SCHEMA = 'sample' 조건을 제거하거나, 다른 데이터베이스 이름으로 바꿔 주면 됩니다. 또한 TABLE_SCHEMA 대신 TABLE_NAME 조건을 추가하면 특정 테이블의 열 개수만 따로 확인할 수도 있습니다.