[python] PyMySQL을 이용하여 데이터베이스의 테이블에서 특정 조건이 충족되는 레코드를 업데이트하는 방법을 알아본다.

PyMySQL은 Python에서 MySQL 데이터베이스를 조작하기 위한 모듈입니다. 이번 가이드에서는 PyMySQL을 사용하여 특정 조건이 충족되는 레코드를 업데이트하는 방법에 대해 알아보겠습니다.

1. PyMySQL 설치

먼저, PyMySQL 모듈을 설치해야 합니다. 아래의 명령어를 사용하여 PyMySQL을 설치할 수 있습니다.

pip install PyMySQL

2. MySQL 연결 설정

PyMySQL로 MySQL 데이터베이스에 연결하기 위해서는 연결에 필요한 정보를 설정해야 합니다. 이를 위해 다음과 같은 코드를 작성해주세요.

import pymysql

# 데이터베이스 연결 설정
conn = pymysql.connect(
    host='hostname',
    user='username',
    password='password',
    db='database_name',
    charset='utf8'
)

host, user, password, db는 각각 호스트 이름, 사용자 이름, 비밀번호, 데이터베이스 이름에 해당합니다. 만약 로컬 호스트에 MySQL을 사용한다면 host'localhost'로 설정하면 됩니다.

3. SQL 쿼리 실행

PyMySQL을 사용하여 SQL 쿼리를 실행하고 데이터베이스의 테이블을 업데이트할 수 있습니다. 아래의 코드는 users 테이블에서 나이가 30 이상인 레코드들의 이름을 ‘John’으로 변경하는 예제입니다.

try:
    # 커서 생성
    cursor = conn.cursor()

    # SQL 쿼리 실행
    sql = "UPDATE users SET name='John' WHERE age >= 30"
    cursor.execute(sql)

    # 변경 사항을 커밋
    conn.commit()
    
    print("레코드 업데이트 완료")

except pymysql.Error as e:
    print("Error:", e)

finally:
    # 커서와 연결 종료
    cursor.close()
    conn.close()

UPDATE 쿼리를 사용하여 users 테이블에서 조건에 맞는 레코드들의 이름을 변경합니다. 변경한 후에는 변경 사항을 commit으로 커밋해야 실제로 데이터베이스가 업데이트됩니다.

4. 실행 결과 확인

위의 코드를 실행하면 테이블에서 조건에 맞는 레코드들이 ‘John’으로 변경됩니다. 추가적인 로직이나 필요에 따라 쿼리문을 수정하여 원하는 업데이트 작업을 수행할 수 있습니다.

이상으로 PyMySQL을 이용하여 데이터베이스의 테이블에서 특정 조건이 충족되는 레코드를 업데이트하는 방법에 대해 알아보았습니다. PyMySQL을 사용하여 보다 유연한 데이터베이스 조작을 할 수 있습니다.