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

Python으로 MySQL에서 IF 문 활용하는 방법 완벽 가이드

IF 문은 조건문의 하나로, 특정 조건을 검사한 후 그 결과에 따라 다른 값을 반환하는 기능을 합니다. 이 글에서는 Python을 사용해 SQL 데이터베이스와 상호작용하면서 IF 문을 활용하는 방법을 자세히 알아보겠습니다.

IF 문 기본 문법

IF(condition, value_if_true, value_if_false)

IF 문은 SELECT 절과 함께 사용할 수 있으며, 특정 기준에 따라 조건부로 데이터를 선택할 때 유용합니다. 조건이 참이면 두 번째 인자를, 거짓이면 세 번째 인자를 반환합니다.

Python에서 MySQL IF 문을 사용하는 단계

  • MySQL 커넥터를 임포트합니다
  • connect() 메서드를 사용하여 데이터베이스 연결을 설정합니다
  • cursor() 메서드로 커서 객체를 생성합니다
  • 적절한 MySQL 구문으로 쿼리를 작성합니다
  • execute() 메서드로 SQL 쿼리를 실행합니다
  • 작업이 끝나면 연결을 종료합니다

예제 테이블

다음과 같은 "MyTable" 테이블이 있다고 가정해 보겠습니다.

+----------+---------+
|    id    |  value  |
+----------+---------+
|        1 |     200 |
|        2 |     500 |
|        3 |    1000 |
|        4 |     600 |
|        5 |     100 |
|        6 |     150 |
|        7 |     700 |
+----------+---------+

코드 예제

위 테이블에 IF 문을 적용하여 값이 500보다 큰지 여부에 따라 PASS 또는 FAIL을 표시해 보겠습니다.

import mysql.connector
db = mysql.connector.connect(host="your host", user="your username", password="your password", database="database_name")

cursor = db.cursor()

query = "SELECT value, IF(value > 500, 'PASS', 'FAIL') FROM MyTable"
cursor.execute(query)

for row in cursor:
    print(row)
db.close()

실행 결과

(200, 'FAIL')
(500, 'FAIL')
(1000, 'PASS')
(600, 'PASS')
(100, 'FAIL')
(150, 'FAIL')
(700, 'PASS')

결과 분석

위 코드는 value가 500보다 작거나 같으면 FAIL을, 500보다 크면 PASS를 할당합니다. 주의할 점은 500인 경우도 FAIL로 처리되는데, 이는 IF(value > 500, ...) 조건이 엄격히 초과(>)를 의미하기 때문입니다. 만약 500도 PASS로 처리하고 싶다면 IF(value >= 500, 'PASS', 'FAIL')처럼 조건을 수정하면 됩니다.

이처럼 Python과 MySQL의 IF 문을 결합하면 별도의 후처리 로직 없이 쿼리 단계에서 조건부 값을 손쉽게 계산할 수 있어 코드가 간결해지고 처리 효율도 높아집니다.