Python에서 데이타베이스를 엑서스하기 위한 한 방법으로 Python DB API를 사용할 수 있다. Python DB API는 여러 데이타베이스를 엑세스하는 표준 API 로서 여러 DB 엑세스 모듈에서 이 최소한의 API 인터페이스 표준을 따르고 있다. 표준 API는 크게 데이타베이스를 연결하고, SQL 문을 실행하고, 연결을 닫는 등의 기본적인 DB 작업과 관련된 기능들을 정의하고 있다. Python DB API는 현재 버전 2.0을 사용하는데, 스펙은 PEP 249에 자세히 소개되어 있다.

DB API 란

  • 파이썬의 데이터베이스 표준 API
  • 다양한 데이터베이스를 위한 표준 API
  • 현재 version 2.0 사용 PEP 249 명세서를 준수.
  • 각각의 DB에 상응하는 별도의 DB 모듈을 다운받아야 한다
  • MySQL, PostgreSQL, Oracle, MSSQL 등 대표 DBMS 지원
  • sqlite3 는 Python 2.5 이상에서 기본 내장

DB API 주요 명세

  • Constructors
    • connect(): connection 객체 반환
  • connection 객체
    • commit(), rollback(), cursor(), close()
  • cursor 객체
    • execute(), executemany(), fetchone(), fetchmany() , close()…

그림: Python Db api

SQLite3 API

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import sqlite3

"""데이터베이스 파일을 연다"""
con = sqlite3.connect("testdb")

"""커서 생성"""
cur = con.cursor()

"""조회"""
cur.execute("SELECT * FROM userTable")

print("사용자ID 사용자이름 이메일 가입일")
print("-------------------------------------------")

"""커서에서 fetch"""
while(True):
row = cur.fetchone()
if row == None :
break;
userid = row[0]
username = row[1]
email = row[2]
subdate = row[3]

print(f"{userid :5} {username :15} {email :15} {subdate}")

con.close()


Author

Gangtai Goh

Posted on

2023-07-18

Updated on

2023-07-18

Licensed under