본문 바로가기
공부/파이썬 (Python)

[SQLite] 파이썬 데이터베이스 기본 연동, 테이블 생성, 데이터 삽입

by Lagooni 2021. 11. 4.

SQLiteDatabaseBrowserPotable 다운로드 하기(https://portableapps.com/apps/development/sqlite_database_browser_portable)

설치 끝

db browser실행

DB생성 & Auto Commit

conn = sqlite3.connect('본인디렉터리의절대경로/resource/database.db', isolation_level=None)

#파이썬 데이터베이스 연동하기
import sqlite3

#DB생성 & Auto Commit
conn = sqlite3.connect('본인경로/python_basic/resource/database.db', isolation_level=None)

 

생성 완료

DB브라우저에서 열기

만든 데이터베이스를 선택해 줍니다.

DB를 가져온 초기 화면

커서(Cursor) 생성하기

커서란? 일련의 데이터에 순차적으로 액세스할 때 검색 및 “현재 위치”를 포함하는 데이터 요소

#Cursor
c = conn.cursor()

테이블 생성하기 (역슬래시는 줄바꿈해도 이어지게 해줌)

테이블 이름은 users이고 (id, username, email, phone, website, regdate)속성을 가짐

#테이블 생성(Data Type : Text, Numeric, Integer, Real, Blob)
c.execute("CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY, username text, email text, \
    phone text, website text, regdate text)")

실행해주면 테이블이 생성됨

만약 잘못 생성 되었다면 파일-> 데이터베이스 닫기

database.db를 삭제 후 다시 실행

데이터 삽입 하기

변수는 ?삽입 후 execute의 두번째 parameter에 튜플로 입력

#데이터 삽입
c.execute("INSERT INTO users VALUES(1, 'Moon', 'mcc@asdsad.com', '000-0000-0000', 'lagoon.com', ?)", (now,))

이렇게도 가능

c.execute("INSERT INTO users(id, username, email, phone, website, regdate) VALUES (?,?,?,?,?,?)", (2,'Park', 'asd@namd.com','111-1111-1111', 'parkl.com', now))

데이터 여러번 삽입하기 (튜플) - executemany

3,4,5가 생겼다

테이블 데이터 삭제하기

#테이블 데이터 삭제
conn.execute("DELETE FROM users")

데이터가 모두 지워짐

print를 사용하여 rowcount를 출력하면 몇 개를  지웠는지도 확인할 수 있다.

print("users db deleted : ", conn.execute("DELETE FROM users").rowcount)

 

커밋 : isolatuon_level = None일 경우 자동으로 반영된다.

conn.commit()

롤백

conn.rollback()

접속 해제

conn.close()

댓글