1. 먼저 SQLite를 다운받고 테이블을 만든다
2021.04.26 - [SQL] - 데이터베이스 - SQLite 사용하기, DB Browser for SQLite 다운로드
2021.06.10 - [SQL] - SQLite- CREATE문 TABLE (테이블 생성하기)/테이블 추가
2. Python에서 sqlite3을 import 한다
import sqlite3
3. sqlite3 라이브러리의 connect를 이용해 db를 연결한다
con = sqlite3.connect("test.db")
프로젝트 파일안에 test이름의 db가 있으면 연결되고
없으면 test이름의 db를 생성하고 연결해준다
4. Cursor 객체를 생성한다
Cur = con.cursor()
test.db에 있는 test_table 요소에 값을 추가하려면
INSERT INTO test_table(string_test,int_test) VALUES("추가데이터1","추가데이터2") 또는
INSERT INTO test_table VALUES("추가데이터1","추가데이터2")
sql문을 실행해야 한다
5. sql문 작성
sql = "INSERT INTO test_table VALUES(추가데이터,추가데이터)"
self.Cur.execute(sql)
self.con.commit()
보통 이렇게 작성하면 되는데 추가할 데이터를 받아서 쓰기 위해 상황에 맞는 함수로 코딩했다
[전체코드]
import sqlite3
class Test:
# SQLite DB 연결
con = sqlite3.connect("test.db")
#Cursor 객체 생성
Cur = con.cursor()
def Insert_Data(self,data1,data2):
try:
sql = "INSERT INTO test_table VALUES(?,?)"
data = (data1,data2)
self.Cur.execute(sql,data)
except Exception as e:
print('error:',e)
finally:
self.con.commit() # sql문을 commit한다
if __name__ == '__main__':
SQL = Test()
SQL.Insert_Data("data1","1")
[결과]
별다른 에러 없이 테이블에 값이 추가되었다
int_test가 primary key라서 중복이 허용 안되는데
이때 함수를 또 실행하면 제약조건 때문에 에러가 떠서 프로그램이 실행 안될 것이다
이것 때문에 다른 코드에 영향을 주면 안 되니
try - catch문으로 적절하게 예외문을 만들어서 error코드가 나오게 짰다
error: UNIQUE constraint failed: test_table.int_test
unique 때문에 실패했다고 에러가 뜬다
int_test 값을 바꿔서 실행하면 정상적으로 추가된다
'Python' 카테고리의 다른 글
[Python] 내장 함수 Set사용하기 (0) | 2021.09.22 |
---|---|
[Python] 파이썬 map함수란? 사용 예제 (0) | 2021.09.15 |
[Python] 리스트 원소 제거 함수 비교/ remove,clear,pop, del (0) | 2021.09.11 |
[Python] append(),extend(),insert()차이 / 결과 값 비교 (0) | 2021.09.11 |
[Python] split() 함수, 문자열 잘라서 리스트 변환, 문자열 나누기 (0) | 2021.09.09 |
댓글