pymysql 환경세팅

박준우·3일 전
0

개발세팅

목록 보기
3/3

이 포스팅은 Gemini AI에 의해서 작성되었습니다.

🐍 Python으로 MySQL 다루기: pymysql 설치부터 실전 팁까지

안녕하세요! 이번 포스팅에서는 파이썬(Python)으로 MySQL 데이터베이스를 제어하는 가장 대표적인 라이브러리, pymysql의 설치부터 실제 서버 환경에서 사용되는 커넥션 풀(Connection Pool) 개념까지 차근차근 알아보겠습니다.

1. pymysql 설치하기: 모든 것의 시작

가장 먼저 파이썬에서 pymysql 라이브러리를 사용할 수 있도록 설치해야 합니다. 터미널(cmd, PowerShell 등)을 열고 아래 명령어를 입력해 주세요.

Bash

pip install pymysql
pip는 파이썬의 패키지 관리자로, 이 명령어 한 줄이면 설치는 간단하게 끝납니다. ✅

2. 기본 연결 및 조회 코드: DB와 첫 만남

이제 설치된 pymysql을 이용해 데이터베이스에 연결하고, SELECT 쿼리로 데이터를 가져와 출력하는 기본 코드를 작성해 보겠습니다.

전체 코드

Python

import pymysql

과정1. DB 접속 정보 설정

db_host = "127.0.0.1"
db_user = "root"
db_password = "1234"
db_name = "cookdb"
conn = None # conn 변수를 미리 선언하고 초기화

try:
    # 2. DB 연결 (Connection)
    conn = pymysql.connect(
        host=db_host,
        user=db_user,
        password=db_password,
        db=db_name,
        charset='utf8'
    )
    print("DB 연결 성공")

    # 3. 커서(Cursor) 생성
    # 커서는 SQL 문장을 실행하고 결과를 받아오는 통로 역할을 합니다.
    cur = conn.cursor()

    # 4. SQL 실행 및 결과 가져오기
    sql = "SELECT * FROM usertbl;"
    cur.execute(sql)
    rows = cur.fetchall() # 실행 결과를 모두 가져옴

    # 5. 결과 출력
    for row in rows:
        print(row)

except Exception as e:
    print(f"오류 발생: {e}")

finally:
    # 6. 연결 종료
    if conn:
        conn.close()
        print("DB 연결 종료")

과정2. 코드 핵심 분석

try...except...finally: DB 작업 중 오류가 발생하더라도 finally 블록이 항상 실행되므로, conn.close()를 통해 연결을 안전하게 종료할 수 있습니다.

pymysql.connect(): 입력한 접속 정보로 DB에 연결을 시도하고, 성공하면 Connection 객체를 반환합니다.

conn.cursor(): 생성된 연결을 통해 SQL을 주고받을 Cursor 객체를 생성합니다.

cur.execute(sql): SQL 쿼리를 DB에 전송하여 실행합니다.

cur.fetchall(): execute로 실행된 SELECT 문의 결과를 모두 가져옵니다. 결과는 리스트 속의 튜플 [ (행1), (행2), ... ] 형태로 반환됩니다.

conn.close(): 모든 작업이 끝난 후 DB 연결을 해제합니다. 이 과정을 거치지 않으면 불필요한 연결이 계속 남아서 시스템 자원을 낭비하게 됩니다.

profile
DB가 좋아요

0개의 댓글