PEP 249
DB와 연결되는 파이썬 모듈들을 제작할 때 권장되는 가이드 라인
-> Mysql, SQLite, psycopg 등 포함
<DB 연결>
#import하여 사용 import sqlite3 #conn : DB와 연결 conn = sqlite3.connect('test.db') #cur : DB와 소통하기 위한 장치 cur = conn.cursor()
<소통>
#execute : DB와 소통방식 #테이블 제작 cur.execute( """ CREATE TABLE test_table ( name VARCHAR(32), age INT); """ ) #데이터 추가 cur.execute( """ INSERT INTO test_table (name, age) VALUES ('spongebob', 12); """ )
<조회>
#commit conn.commit() #데이터 조회 cur.exectute("SELECT * FROM test_table;") #-----> x (조회 안됨) cur.fetchone() cur.fetchmany(2) cur.fetchall()
위의 경우에서
cur.exectute("SELECT * FROM test_table;")
을 이용하면 데이터가 조회되지 않는다.
그 이유는 execute문을 실행하면 cur 객체에 대한 정보만 보여주기 때문이고 따라서 cur.fetch문을 이용하여 조회해야 한다.
원격으로 관리되는 DB로, 원격으로 관리되기 때문에 해당 DB에 대한 접근 정보가 있어야 한다.
#온-프레미스
- 클라우드 방식과 반대 개념으로, 직접 물리적 서버를 구축하는 것을 말한다.
서비스://유저_이름:유저_비밀번호@호스트:포트번호/경로
<DB 연결>
import psycopg2 #URI 형식의 온라인 데이터베이스와 연결 conn = psycopg2.connect( host="서버 호스트 주소", database="데이터베이스 이름", user="유저 이름", password="유저 비밀번호")
!!!이후 동작은 sqlite와 동일!!!