[python] PyMySQL을 이용하여 데이터를 쿼리하고 조작하는 방법을 알아본다.

이번 포스트에서는 Python에서 MySQL 데이터베이스를 다루는 데 사용되는 PyMySQL 라이브러리에 대해 알아보겠습니다. PyMySQL은 MySQL 서버와의 상호 작용을 위한 Python 인터페이스로, 데이터를 쿼리하고 조작하는 기능을 제공합니다.

PyMySQL 설치

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

pip install PyMySQL

데이터베이스 연결

PyMySQL을 사용하기 위해서는 데이터베이스에 연결해야 합니다. 아래 코드는 데이터베이스에 연결하는 예제입니다.

import pymysql

# 데이터베이스에 연결
conn = pymysql.connect(
    host='localhost',
    user='username',
    password='password',
    database='dbname',
    charset='utf8mb4'
)

위 코드에서 host, user, password, database는 본인의 MySQL 서버 설정에 맞게 수정해야 합니다.

쿼리 실행

PyMySQL을 사용하여 데이터베이스에 쿼리를 실행할 수 있습니다. 아래 코드는 예시입니다.

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

# 쿼리 실행
cursor.execute("SELECT * FROM table_name")

# 결과 가져오기
results = cursor.fetchall()

# 결과 출력
for row in results:
    print(row)

# 커서 닫기
cursor.close()

위 코드에서 table_name은 데이터베이스의 실제 테이블 이름으로 수정해야 합니다. execute 함수는 쿼리를 실행하고, fetchall 함수는 쿼리 결과를 가져옵니다.

데이터 삽입

PyMySQL을 사용하여 데이터를 삽입할 수도 있습니다. 아래 코드는 데이터를 삽입하는 예제입니다.

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

# 데이터 삽입
sql = "INSERT INTO table_name (column1, column2) VALUES (%s, %s)"
data = ("value1", "value2")
cursor.execute(sql, data)

# 변경사항 저장
conn.commit()

# 커서 닫기
cursor.close()

위 코드에서 table_name, column1, column2, value1, value2는 본인의 데이터베이스에 맞게 수정해야 합니다. execute 함수의 두 번째 매개변수로 데이터를 전달합니다.

데이터베이스 연결 종료

작업이 끝나면 데이터베이스 연결을 종료해야 합니다. 아래 코드는 데이터베이스 연결을 종료하는 예제입니다.

# 데이터베이스 연결 종료
conn.close()

위 코드를 실행하면 데이터베이스 연결이 종료됩니다.

결론

이번 포스트에서는 PyMySQL을 사용하여 MySQL 데이터베이스를 쿼리하고 조작하는 방법에 대해 알아보았습니다. PyMySQL은 Python에서 MySQL과의 상호 작용에 매우 유용한 라이브러리입니다. 데이터베이스 연결, 쿼리 실행, 데이터 삽입 및 데이터베이스 연결 종료에 대해 다루었습니다. PyMySQL 문서를 참조하여 더 많은 기능을 탐색해보시기 바랍니다.

참고 자료