Python
Python 문법 기초 32 - 개인용 DB : sqlite3
코딩탕탕
2022. 10. 22. 17:31
# 개인용 DB : sqlite3 : 파이썬 기본 개인용 데이터베이스
import sqlite3
print(sqlite3.sqlite_version)
print()
conn = sqlite3.connect('exem.db')
try:
cursor = conn.cursor() # SQL문 처리
# table 생성 SQL문은 ""를 사용하는 것이 좋다.
cursor.execute("create table if not exists fritab(name text, phone text)")
# 자료 추가
cursor.execute("insert into fritab(name,phone) values('한국인','111-1111')")
cursor.execute("insert into fritab values('우주인','222-1111')")
cursor.execute("insert into fritab values(?,?)", ('신기해','333-1111'))
inputdata = ('신기루','444-1111')
cursor.execute("insert into fritab values(?,?)", inputdata)
conn.commit() # java는 오토 commit 이지만 파이썬은 수동이다.
# select
cursor.execute("select * from fritab")
print(cursor.fetchone()) # 한개만 읽는다.
print(cursor.fetchall()) # 모두 읽는다.
except Exception as e:
print('err : ', e)
conn.rollback()
finally:
conn.close()
<console>
3.38.2
('한국인', '111-1111')
[('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111'), ('한국인', '111-1111'), ('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111'), ('한국인', '111-1111'), ('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111'), ('한국인', '111-1111'), ('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111'), ('한국인', '111-1111'), ('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111')]
table 생성 SQL문은 ""를 사용하는 것이 좋다.
SQL문은 ;을 사용하지 않는다.(오라클 제외)
파일이 있으면 안 만들어진다. SQL 테이블도 테이블 명이 존재하면 만들어지지 않는다.
fetchone() 함수는 데이터를 한개만 읽는다.
fetchall() 함수는 데이터를 모두 읽는다.
java는 오토 commit 이지만 파이썬은 수동이다.