데이터베이스 작업 중 SQL 테이블에 몇 개의 열(컬럼)이 존재하는지 확인해야 하는 경우가 종종 있습니다.
이럴 때 count(*) 함수와 information_schema.columns, 그리고 WHERE 절을 함께 사용하면 손쉽게 열 개수를 구할 수 있습니다. WHERE 절에는 열 개수를 세고자 하는 테이블의 이름을 지정합니다.
기본 문법
SELECT COUNT(*) FROM information_schema.columns WHERE table_name = 'your_table_name'
Python에서 MySQL로 테이블 열 개수 세는 단계
MySQL 커넥터(mysql.connector) 모듈을 임포트합니다.
connect()메서드를 사용해 데이터베이스와 연결을 설정합니다.cursor()메서드로 커서 객체를 생성합니다.적절한 MySQL 문법으로 쿼리를 작성합니다.
execute()메서드로 SQL 쿼리를 실행합니다.작업이 끝나면 연결을 닫습니다(close).
예제 테이블
예를 들어 아래와 같이 "Students"라는 이름의 테이블이 있다고 가정해 보겠습니다.
+----------+---------+-----------+------------+ | Name | Class | City | Marks | +----------+---------+-----------+------------+ | Karan | 4 | Amritsar | 95 | | Sahil | 6 | Amritsar | 93 | | Kriti | 3 | Batala | 88 | | Khushi | 9 | Delhi | 90 | | Kirat | 5 | Delhi | 85 | +----------+---------+-----------+------------+
구현 예시
위 테이블의 열 개수를 구하고 싶다면 다음과 같이 Python 코드를 작성할 수 있습니다.
import mysql.connector
db = mysql.connector.connect(
host="your host",
user="your username",
password="your password",
database="database_name"
)
cursor = db.cursor()
query = "SELECT COUNT(*) FROM information_schema.columns WHERE table_name = 'Students'"
cursor.execute(query)
col = cursor.fetchall()
for x in col:
print(x)
db.close()위 코드를 실행하면 "Students" 테이블에 존재하는 열의 개수가 반환됩니다.
실행 결과
4
Name, Class, City, Marks 네 개의 열이 있으므로 결과값으로 4가 출력되는 것을 확인할 수 있습니다. 이 방식은 테이블 구조를 코드로 동적으로 파악해야 할 때 매우 유용하게 활용됩니다.