MySQL 테이블의 열 개수 구하기
MySQL에서 특정 테이블에 몇 개의 열(컬럼)이 있는지 확인하려면 COUNT(*) 집계 함수와 INFORMATION_SCHEMA.COLUMNS 테이블을 함께 사용하면 됩니다. 이 방법은 데이터베이스 메타데이터를 조회하는 가장 확실한 방식으로, 실제 테이블 데이터를 읽지 않고도 열 개수를 빠르게 파악할 수 있습니다.
기본 문법
열 개수를 구하는 기본적인 쿼리 문법은 다음과 같습니다.
SELECT COUNT(*) AS anyVariableName
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'yourDatabaseName'
AND table_name = 'yourTableName';
- table_schema: 대상 데이터베이스(스키마)의 이름입니다.
- table_name: 열 개수를 확인하고자 하는 테이블의 이름입니다.
예제 테이블 생성
문법을 실제로 이해하기 위해 여러 개의 열을 가진 테이블을 먼저 만들어 보겠습니다. 아래는 테이블을 생성하는 쿼리입니다.
mysql> CREATE TABLE CountColumns
-> (
-> Bookid INT,
-> BookName VARCHAR(200),
-> BookAuthorName VARCHAR(200),
-> BookPublishedDate DATETIME
-> );
Query OK, 0 rows affected (0.69 sec)
위 쿼리로 생성된 CountColumns 테이블에는 총 4개의 열(Bookid, BookName, BookAuthorName, BookPublishedDate)이 존재합니다.
열 개수 조회 쿼리 실행
이제 앞서 소개한 문법을 적용하여 해당 테이블의 열 개수를 세어 보겠습니다.
mysql> SELECT COUNT(*) AS NumberofColumns
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'business'
-> AND table_name = 'CountColumns';
실행 결과
쿼리를 실행하면 다음과 같이 열 개수가 출력됩니다.
+-----------------+
| NumberofColumns |
+-----------------+
| 4 |
+-----------------+
1 row in set (0.00 sec)
결과에서 확인할 수 있듯이 CountColumns 테이블은 정확히 4개의 열을 가지고 있습니다. 이처럼 INFORMATION_SCHEMA를 활용하면 복잡한 로직 없이 간단한 쿼리 하나로 원하는 테이블의 열 개수를 손쉽게 확인할 수 있습니다.