카테고리 없음
Database - Chapter 4-25. PyMySQL(1/3)
Chansman
2025. 3. 21. 16:12
🚀 04. Python으로 다루는 MySQL (PyMySQL)
📌 PyMySQL이란?
PyMySQL은 Python 언어에서 MySQL 데이터베이스를 손쉽게 사용할 수 있도록 지원하는 라이브러리입니다.
- 주요 기능:
- MySQL 데이터베이스 연결 및 관리
- 데이터 조회, 삽입, 수정, 삭제
📌 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을 자유롭게 연결하고 관리해 보세요! 🚀🐍💾