MySQL 테이블의 열 개수 확인하기
MySQL에서 특정 테이블에 몇 개의 열(column)이 있는지 확인하려면 count(*) 함수와 information_schema.columns, 그리고 WHERE 절을 함께 사용하면 됩니다. 이 글에서는 실제 예제를 통해 단계별로 살펴보겠습니다.
1. 테이블 생성
먼저 예제로 사용할 테이블을 생성합니다.
mysql> create table NumberOfColumns
-> (
-> id int,
-> FirstName varchar(100),
-> LastName varchar(100),
-> Age int,
-> Address varchar(100)
-> );
Query OK, 0 rows affected (0.70 sec)
2. 레코드 삽입
생성한 테이블에 샘플 데이터를 입력합니다.
mysql> insert into NumberOfColumns values(1,'Shane','Watson',36,'Australia');
Query OK, 1 row affected (0.15 sec)
mysql> insert into NumberOfColumns values(2,'Carol','Taylor',24,'US');
Query OK, 1 row affected (0.13 sec)
3. 전체 레코드 조회
테이블에 저장된 모든 데이터를 확인합니다.
mysql> select * from NumberOfColumns;
실행 결과는 다음과 같습니다.
+------+-----------+----------+------+-----------+
| id | FirstName | LastName | Age | Address |
+------+-----------+----------+------+-----------+
| 1 | Shane | Watson | 36 | Australia |
| 2 | Carol | Taylor | 24 | US |
+------+-----------+----------+------+-----------+
2 rows in set (0.00 sec)
4. 열 개수를 세는 기본 쿼리 문법
테이블의 열 개수를 계산하는 기본 문법은 다음과 같습니다.
SELECT count(*) AS anyName FROM information_schema.columns
WHERE table_name = 'yourTableName';
위 문법을 앞서 만든 'NumberOfColumns' 테이블에 적용해 보겠습니다.
mysql> SELECT count(*) AS NUMBEROFCOLUMNS FROM information_schema.columns
-> WHERE table_name = 'NumberOfColumns';
실행 결과, 해당 테이블의 열 개수가 출력됩니다.
+-----------------+
| NUMBEROFCOLUMNS |
+-----------------+
| 5 |
+-----------------+
1 row in set (0.00 sec)
5. 데이터베이스 이름까지 지정하는 대체 쿼리
동일한 테이블 이름이 여러 데이터베이스에 존재할 수 있으므로, table_schema 조건을 추가해 정확도를 높일 수 있습니다. 대체 쿼리는 다음과 같습니다.
SELECT COUNT(*) AS anyName FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'yourDatabaseName' AND table_name = 'yourTableName';
'business'라는 데이터베이스에 두 번째 쿼리를 적용해 보겠습니다.
mysql> SELECT COUNT(*) AS NUMBEROFCOLUMNS FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE table_schema = 'business' AND table_name = 'NumberOfColumns';
실행 결과 역시 열 개수인 5가 출력됩니다.
+-----------------+
| NUMBEROFCOLUMNS |
+-----------------+
| 5 |
+-----------------+
1 row in set (0.00 sec)
정리
MySQL 테이블의 열 개수를 확인하는 가장 간단한 방법은 information_schema.columns 뷰에 대해 COUNT(*)를 실행하는 것입니다. 테이블 이름만으로 조회할 수도 있고, 데이터베이스 이름(table_schema)까지 함께 지정하면 더욱 정확한 결과를 얻을 수 있습니다.