이번 포스트에서는 파이썬 웹 서버와 데이터베이스를 연동하는 방법에 대해 알아보겠습니다. 데이터베이스는 웹 애플리케이션에서 중요한 역할을 하며, 파이썬에서는 다양한 데이터베이스를 지원하는 라이브러리가 있습니다.
데이터베이스 선택
먼저 어떤 데이터베이스를 사용할지 결정해야 합니다. 파이썬에서 가장 널리 사용되는 데이터베이스는 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
블록에서는 연결을 종료합니다.
마치며
이번 포스트에서는 파이썬 웹 서버와 데이터베이스를 연동하는 방법에 대해 알아보았습니다. 데이터베이스 라이브러리를 설치하고 데이터베이스에 연결한 뒤, 원하는 작업을 수행할 수 있습니다. 데이터베이스 연동은 웹 애플리케이션 개발에서 필수적인 부분이므로, 충분한 이해와 실습을 통해 숙련도를 높이시기 바랍니다.
참고 자료
- MySQL Connector/Python Documentation
- PostgreSQL Official Documentation
- SQLite Official Documentation