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

Python으로 SQL 테이블의 열 개수 확인하는 방법

데이터베이스 작업 중 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가 출력되는 것을 확인할 수 있습니다. 이 방식은 테이블 구조를 코드로 동적으로 파악해야 할 때 매우 유용하게 활용됩니다.