본문 바로가기

Python 파이썬

파이썬과 SQLite3 연동하기(Python + SQLite3)_1

728x90

sqlite3의 사용법은 data base메뉴를 눌러 둘러보기를 추천한다.

 

먼저 sqlite3 의 모듈은 Python 표준 라이브러리에 포함되어 있다.

파이썬을 설치할 때 이미 파이썬 내부에 sqlite3이 설치가 된 것!

 

파이썬에서 sqlite3모듈을 다루기 위해 관련 함수들을 알아보자! 

접속관련 함수

connect()  SQLite 데이터 베이스에 연결
데이터 베이스 파일이 존재하지 않으면 새로운 데이터 베이스 파일을 생성
연결된 데이터 베이스 객체를 반환
예제 conn = sqlite3.connect("mytestdb.db")
cursor() 데이터 베이스와 상호작용을 하기위한 cursor 객체를 생성
cursor객체는 SQL 쿼리를 실행하고, 결과를 가져오는 등의 작업을 수행
깜박깜박 하는 커서를 가져온다고 생각하면 편하다! 
예제 cursor = conn.cursor()
close() 데이터 베이스 연결을 닫음.
cursor객체와 데이터 베이스 연결 객체 모두 호출 필요
예제 cursor.close()
conn.close()

 

쿼리 전송 관련 함수

execute() 지정된 SQL쿼리를 실행
쿼리에는 "?"와 같은 placeholder를 사용하여 파라미터를 전달할 수 있음
예제 corsor.execute("SELECT * FROM users WHERE name=?", ('John'))
executemany() 같은 SQL쿼리를 반복적으로 실행
여러 개의 파라미터 세트를 처리할 때 사용
예제 data = [('John', 30), ('Jane', 25)]
cursor.executemany("INSERT INTO users (name, age) VALUSE (?,?), data)

 

쿼리 결과 관련 함수

fetchone() 결과 세트에서 다음 행(row)을 반환
예제 row = cuesor.fetchone()
fetchmany() 결과 세트에서 다음 여러 개의 행을 가져옴
size 파라미터를 지정하지 않으면 기본값으로 cursor.arraysize를 사용(기본값 1)
cursor.arraysize = 100 과 같이 변경가능(100줄 가져온다)
예제 rows = cursor.fetchmany(5)
fetchall() 결과 세트에서 모든 행을 가져옴
예제 rows = cursor.fetchall()

 

트랜젝션 관련 함수

  • sqlite3모듈은 자동 커밋 모드로 동작, 수동으로 begin을 전송하여 직접 트랜젝션 제어 가능
commit() 데이터 베이스에 트랜잭션을 커밋
데이터 베이스에 변경사항을 영구적으로 적용하기 위해서는 반드시 이 함수를 호출
예제 conn.commit()
rollback() 이전 커밋 시점으로 데이터 베이스를 되돌림
이 함수를 호줄하면, 이전 커밋 이후에 변경된 데이터는 모두 삭제됨
예제 conn.rollback()

 

 

728x90