[python] 파이썬 웹 서버와 데이터베이스 연동하기

이번 포스트에서는 파이썬 웹 서버와 데이터베이스를 연동하는 방법에 대해 알아보겠습니다. 데이터베이스는 웹 애플리케이션에서 중요한 역할을 하며, 파이썬에서는 다양한 데이터베이스를 지원하는 라이브러리가 있습니다.

데이터베이스 선택

먼저 어떤 데이터베이스를 사용할지 결정해야 합니다. 파이썬에서 가장 널리 사용되는 데이터베이스는 MySQL, PostgreSQL, SQLite 등이 있습니다. 각 데이터베이스는 장단점과 용도에 따라 선택할 수 있습니다.

데이터베이스 라이브러리 설치

선택한 데이터베이스에 맞는 파이썬 라이브러리를 설치해야 합니다. 대부분의 데이터베이스 라이브러리는 pip 패키지 매니저를 통해 간단하게 설치할 수 있습니다. 예를 들어, MySQL을 사용한다면 pip install mysql-connector-python 명령어로 라이브러리를 설치할 수 있습니다.

데이터베이스 연결

데이터베이스 연동을 위해서는 해당 데이터베이스에 접속하는 정보가 필요합니다. 주로 호스트, 포트, 사용자명, 비밀번호, 데이터베이스명 등이 필요하며, 이 정보를 이용하여 데이터베이스에 연결합니다.

import mysql.connector

# 데이터베이스 연결 정보
config = {
  'user': '사용자명',
  'password': '비밀번호',
  'host': '호스트',
  'database': '데이터베이스명',
  'port': '포트번호'
}

# 데이터베이스 연결
conn = mysql.connector.connect(**config)

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

# 데이터베이스 작업 수행

# 연결 종료
cursor.close()
conn.close()

데이터베이스 작업

연결된 데이터베이스를 통해 원하는 작업을 수행할 수 있습니다. 데이터베이스에 데이터를 조회, 추가, 수정, 삭제하는 등의 작업이 가능합니다. 작업은 SQL 쿼리를 사용하여 처리할 수 있으며, 데이터베이스 라이브러리의 메소드를 이용하여 실행합니다.

# SELECT 쿼리 실행
cursor.execute("SELECT * FROM 테이블명")
result = cursor.fetchall()
for row in result:
    print(row)

# INSERT 쿼리 실행
cursor.execute("INSERT INTO 테이블명 (열1, 열2) VALUES (%s, %s)", ("값1", "값2"))
conn.commit()

# UPDATE 쿼리 실행
cursor.execute("UPDATE 테이블명 SET 열 = %s WHERE 조건", ("값",))
conn.commit()

# DELETE 쿼리 실행
cursor.execute("DELETE FROM 테이블명 WHERE 조건")
conn.commit()

예외 처리

데이터베이스 작업 중에는 예외가 발생할 수 있습니다. 따라서 예외 처리를 통해 오류를 제어하고 적절한 조치를 취할 수 있습니다. 데이터베이스 라이브러리는 다양한 예외를 제공하므로, 이를 적절하게 처리해야 합니다.


try:
    # 데이터베이스 작업 수행

except mysql.connector.Error as err:
    print(err)

finally:
    # 연결 종료
    cursor.close()
    conn.close()

위의 코드에서는 mysql.connector.Error 예외를 처리하였으며, finally 블록에서는 연결을 종료합니다.

마치며

이번 포스트에서는 파이썬 웹 서버와 데이터베이스를 연동하는 방법에 대해 알아보았습니다. 데이터베이스 라이브러리를 설치하고 데이터베이스에 연결한 뒤, 원하는 작업을 수행할 수 있습니다. 데이터베이스 연동은 웹 애플리케이션 개발에서 필수적인 부분이므로, 충분한 이해와 실습을 통해 숙련도를 높이시기 바랍니다.

참고 자료