[python] 파이썬 DB-API 2.0
파이썬은 DB-API 2.0을 준수하는 다양한 데이터베이스 모듈을 지원하며, 모듈들은 호환성을 유지하기 위해 비슷한 인터페이스를 제공합니다.
목차
DB-API 2.0이란?
DB-API 2.0은 파이썬의 표준 데이터베이스 API 스펙으로, 이를 준수하는 데이터베이스 모듈은 동일한 방식으로 상호작용할 수 있습니다. 이 스펙을 준수하는 모듈은 데이터베이스 연결, 쿼리 실행, 결과 처리 등을 일관된 방식으로 처리할 수 있습니다.
DB-API 2.0을 지원하는 데이터베이스 모듈
파이썬에서는 다양한 데이터베이스에 연결하기 위한 다양한 모듈이 존재합니다. 일반적으로 사용되는 DB-API 2.0을 지원하는 몇 가지 데이터베이스 모듈로는 다음이 있습니다.
sqlite3
: 파이썬에 기본으로 내장된 경량 데이터베이스인 SQLite에 연결하기 위한 모듈psycopg2
: PostgreSQL 데이터베이스에 연결하기 위한 모듈mysql-connector-python
: MySQL 데이터베이스에 연결하기 위한 모듈cx_Oracle
: Oracle 데이터베이스에 연결하기 위한 모듈
DB-API 2.0의 주요 기능
DB-API 2.0을 준수하는 데이터베이스 모듈들은 다음과 같은 주요 기능을 제공합니다.
- 데이터베이스 연결 및 연결 해제
- 쿼리 실행
- 결과 처리
- 트랜잭션 제어
- 예외 처리
예제 코드
다음은 sqlite3
모듈을 사용하여 SQLite 데이터베이스에 연결하고 쿼리를 실행하는 간단한 예제 코드입니다.
import sqlite3
# 데이터베이스 연결
conn = sqlite3.connect('example.db')
# 커서 생성
cur = conn.cursor()
# 테이블 생성
cur.execute('''CREATE TABLE stocks
(date text, trans text, symbol text, qty real, price real)''')
# 쿼리 실행
cur.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")
# 결과 가져오기
cur.execute("SELECT * FROM stocks")
print(cur.fetchall())
# 연결 닫기
conn.close()