MySQL에서 특정 테이블에 정의된 필드(컬럼)의 개수를 확인하려면 COUNT(*) 함수와 INFORMATION_SCHEMA.COLUMNS 뷰를 함께 사용하면 됩니다.
기본 문법
select COUNT(*) AS anyAliasName from INFORMATION_SCHEMA.COLUMNS where table_name = yourTableName AND TABLE_SCHEMA = yourDatabaseName;
INFORMATION_SCHEMA.COLUMNS는 데이터베이스 내 모든 테이블의 컬럼 정보를 담고 있는 시스템 뷰입니다. 여기서 table_name으로 대상 테이블을 지정하고, TABLE_SCHEMA로 데이터베이스명을 지정하면 해당 테이블의 컬럼만 정확하게 집계할 수 있습니다.
예제 테이블 생성
먼저 실습용 테이블을 하나 생성해 보겠습니다.
mysql> create table DemoTable794 ( ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(100), ClientAge int, ClientCountryName varchar(100) ); Query OK, 0 rows affected (1.61 sec)
위 테이블은 ClientId, ClientName, ClientAge, ClientCountryName 총 4개의 컬럼으로 구성되어 있습니다.
필드 수 조회 쿼리 실행
다음은 MySQL에서 테이블의 필드 수를 가져오는 실제 쿼리입니다.
mysql> select COUNT(*) AS TOTAL_NUMBER_OF_COLUMNS from INFORMATION_SCHEMA.COLUMNS where table_name = 'DemoTable794' AND TABLE_SCHEMA = 'web';
실행 결과
쿼리를 실행하면 아래와 같이 해당 테이블의 전체 컬럼 개수가 출력됩니다.
+-------------------------+ | TOTAL_NUMBER_OF_COLUMNS | +-------------------------+ | 4 | +-------------------------+ 1 row in set (0.00 sec)
결과에서 확인할 수 있듯이 DemoTable794 테이블에는 총 4개의 필드가 존재합니다. 이 방법을 활용하면 복잡한 스키마 구조 분석이나 동적 SQL 작성 시 테이블의 컬럼 개수를 손쉽게 파악할 수 있습니다.