카테고리 없음

Database - Chapter 4-25. PyMySQL(1/3)

Chansman 2025. 3. 21. 16:12

🚀 04. Python으로 다루는 MySQL (PyMySQL)

📌 PyMySQL이란?

PyMySQL은 Python 언어에서 MySQL 데이터베이스를 손쉽게 사용할 수 있도록 지원하는 라이브러리입니다.

  • 주요 기능:
    • MySQL 데이터베이스 연결 및 관리
    • 데이터 조회, 삽입, 수정, 삭제

📖 공식 문서 바로가기

📂 GitHub Repository


📌 1. PyMySQL 설치하기

PyMySQL은 pip를 통해 설치할 수 있습니다.

pip install pymysql

📌 2. PyMySQL로 MySQL 접속하기

기본적인 PyMySQL 연결 구조입니다.

import pymysql

# 데이터베이스 연결 설정
connection = pymysql.connect(
    host='localhost',
    user='root',
    password='oz-password',  # 본인의 비밀번호로 변경
    db='classicmodels',
    charset='utf8mb4',
    cursorclass=pymysql.cursors.DictCursor
)

try:
    with connection.cursor() as cursor:
        sql = "SELECT * FROM your_table"  # SQL 쿼리 입력
        cursor.execute(sql)
        result = cursor.fetchall()
        print(result)
finally:
    connection.close()

📌 3. PyMySQL 주요 설정 옵션

📍 charset='utf8mb4'

  • utf8mb4는 MySQL에서 모든 유니코드 문자를 지원합니다.
  • 다양한 언어나 이모지를 데이터베이스에 저장할 때 사용합니다.

📍 cursorclass 옵션

커서 유형 설명

Cursor 기본 커서 (튜플 형태 결과 반환)
DictCursor 결과를 딕셔너리 형태로 반환 (추천)
SSCursor 서버에서 점진적으로 결과를 로드 (큰 데이터 처리 시 유용)
SSDictCursor 서버 사이드에서 딕셔너리 형태로 점진적 로드
NamedTupleCursor 명명된 튜플 형태로 결과 반환

📍 DictCursor 사용 예시

cursorclass=pymysql.cursors.DictCursor

반환되는 결과 예시:

{
    'column1': 'value1',
    'column2': 'value2',
    ...
}

📌 4. DictCursor vs SSDictCursor

  • DictCursor: 모든 결과를 한 번에 메모리에 로드 (소규모 데이터셋 적합)
  • SSDictCursor: 결과를 서버에서 점진적으로 로드 (대규모 데이터셋 처리에 효율적)

👉 Tip: 작은 데이터셋은 DictCursor, 큰 데이터셋은 SSDictCursor를 사용하세요.


이제 PyMySQL을 활용해 Python과 MySQL을 자유롭게 연결하고 관리해 보세요! 🚀🐍💾