Python DB API
PEP 249
- 파이썬에서 명시하는 DBAPI v2.0에 대한 문서
- 파이썬에서는 DB와 연결하는 파이썬 모듈은 권장되는 가이드라인을 따라 제작되도록 안내한다.
- 명시적인 가이드라인 덕에 파이썬에서 DB와 연결하는 작업은 다양한 DB라도 동일한 API를 이용해 데이터를 다룰 수 있다.
SQLite
- 기본적으로 파이썬과 함께 설치되는 가벼운 RDB
- 기능이 제한적
- PostgreSQL과 같이 DB Server를 띄우고 작업하지 않으면 기능적 제한으로 복잡하거나 고급 쿼리 등은 실행하기 어렵다.
- 파일형 DB이며 메모리에 상주할 수 있기 때문에 파일을 삭제하거나 프로세스 종료 등으로 인한 데이터 손실도 주의해야 한다.
- 장점은 간단하고 빠르게 DB를 구축하거나 개발 단계에서 단순한 실험 등을 진행하기에 큰 무리가 없다.
DB연결
- SQLite3의
connect
메소드를 활용해 DB File의 위치를 알려주면 된다.
1 |
|
- 파일의 확장자는
.db
,.sqlite3
등의 옵션이 있다. - 연결 후
conn
은 DB와 연결된 하나의 세션을 보관한다.- 세션 : 디비버의 커넥션과 비슷한 개념
- 해당 세션을 통해 DB와 소통하기 위한
cursur
를 생성한다.- 커서 : 디비버의 실행과 비슷한 개념
1 |
|
커서 메소드
cursor.execute
- 기본적인 DB 소통 방식은 커서의
execute
메소드 활용 - SQL의 쿼리문을 바로 넘겨줄 수 있다.
1 |
|
con.commit
- 트랜잭션 커밋
1 |
|
cursor.fetchone, cursor.fetchall
- 추가한 데이터 조회
1 |
|
fetchall
을 하게 된다면 리스트 형식으로 쿼리를 통해 실행된 결과를 리턴한다.fetchone
을 하게 된다면 데이터베이스에서 전달하는 결과에서 첫번째만 리턴한다.
Cloud DB
- Postgres 온라인으로 만든 뒤 연결
URI
- 논리적 혹은 물리적 리소스를 찾을 때 사용된다.
- 네트워크에서 정보를 찾거나 받아올 때 사용된다.
1 |
|
ElephantSQL
- 제한적이지만 무료로 클라우드 postgres 데이터베이스를 제공
PostgrSQL
Postgre 연결
psycopg2 설치
1 |
|
DB 연결
1 |
|