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

MySQL 테이블의 열(컬럼) 개수를 확인하는 방법

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)까지 함께 지정하면 더욱 정확한 결과를 얻을 수 있습니다.