본문 바로가기
  • 콩's 코딩노트
Python

Python에서 데이터베이스에 접속해 데이터 처리하는 코드

by Cong_S 2022. 6. 17.

예시는 음식 레시피를 모아놓은 데이터베이스를 구성한 것이다.

 

# 데이터베이스에 접속해서, 데이터 처리하는 테스트 코드
import mysql.connector
from mysql_connection import get_connetion

name = '순두부'
description = '맛있는 순두부찌개 만들기'
cook_time = '25'
direcrions = '육수를 끓이고 양념장을 만든 후 물이 끓을 때 감자를 먼저 넣고 끓이다 양념장과 순두부, 다른 야채를 넣고 끓인다.'


# 예외 처리 코드 : 만약에 접속시도하다 안되면 에러가 나게 만들어준 것. 이는 mysql.connector 을 만든 사람이 그렇게 하도록 정해둔 것.
try :
    # 데이터 insert
    # 1. DB 연결
    connection = get_connetion()

    # 2. 쿼리문 만들기 (%s는 변수 처리해준다는 뜻) 
    query = '''insert into recipe
            (name, description, cook_time, directions)
            values
            ( %s, %s, %s, %s);'''

    record = (name, description, cook_time, direcrions)
    

    # 3. 커서를 가져온다.
    cursor = connection.cursor()

    # 4. 커서를 이용해서 쿼리문을 실행한다.
    cursor.execute(query, record)

    # 5. 커넥션을 커밋해줘야 한다. == DB에 영구적으로 반영하라는 것임.
    connection.commit()

    # 6. 자원 해제
    cursor.close()
    connection.close()

except mysql.connector.Error as e:
    pass

크게 보면 try 와 except 로 이루어진 코드이다. 이는 mysql connector의 기본 사용 방법이다.

 

중요한 부분은 %s 로 변수 처리하고 그 밑에 튜플 형태로 변수 묶음을 만들어 

해당 변수가 사용되는 시점에 변수 묶음을 같이 입력해주는 부분이다.

 

상황과 환경에 따라 코드가 바뀌겠지만 큰 틀은 다음과 같다.

 

1. DB 연결

2. 쿼리문 만들기 ( 변수 처리 주의할 것, 변수 묶음은 튜플인 것도 주의! 콤마 주의!)

3. 커서를 가져온다.

4. 커서를 이용해서 쿼리문을 실행한다.

5. 커넥션을 커밋하여 데이터베이스에 영구적으로 반영해준다.

6. 자원 해제

댓글