테이블 조회하기
#파이썬 데이터베이스 연동(SQLite)
import sqlite3
from sqlite3.dbapi2 import connect
conn = sqlite3.connect('/mnt/c/Users/mch12/Documents/python_basic/resource/database.db')
#커서 바인딩
c = conn.cursor()
#데이터 조회
c.execute("SELECT * FROM users")
#커서 위치가 변경
#1개 로우 선택
# print('One -> \n', c.fetchone())
#지정 로우 선택
# print('Three -> \n', c.fetchmany(size=3))
rows = c.fetchall()
for row in rows:
print('retrieve1 >', row)
튜플로 조회하기
#Where Retrieve1
param1 = (3,)
c.execute('SELECT * FROM users WHERE id=?',param1)
print('param1', c.fetchone())
#하나만 가져왔다면 fetchall()에는 아무것도 나오지 않는다.
print('param1', c.fetchall())
값으로 조회하기
#Where Retrieve2
param2 = 4
c.execute('SELECT * FROM users WHERE id="%s"' % param2)
print('param2', c.fetchone())
print('param2', c.fetchall())
dictionary로 조회하기
#Where Retrieve3
c.execute('SELECT * FROM users WHERE id=:Id', {"Id": 5})
print('param2', c.fetchone())
print('param2', c.fetchall())
Dump 만들기
덤프? 덤프는 백업이나 복구를 위해 데이터테이블의 구조와 입력된 레코드를 저장하는 방법이다.
with conn:
with open('/mnt/c/Users/mch12/Documents/python_basic/resource/dump.sql', 'w') as f:
for line in conn.iterdump():
f.write('%s\n' % line)
print('Dump Print Complete!')
데이터 수정 (튜플)
id가 2번인 데이터의 username을 niceman으로 바꿔보자.
import sqlite3
conn = sqlite3.connect('/mnt/c/Users/mch12/Documents/python_basic/resource/database.db')
c = conn.cursor()
#데이터 수정
c.execute("UPDATE users SET username = ? WHERE id = ?", ('niceman', 2))
conn.commit()
데이터 수정 (dictionary)
#데이터 수정
c.execute("UPDATE users SET username = :name WHERE id = :id", {'name': 'Koo', 'id' : 5})
conn.commit()
데이터 삭제
# 데이터 삭제
c.execute("DELETE FROM users WHERE id = ?", (2,))
'공부 > 파이썬 (Python)' 카테고리의 다른 글
[Python] 메소드 (Method)와 함수(Function) 차이점 (0) | 2021.11.30 |
---|---|
[SQLite] 파이썬 데이터베이스 기본 연동, 테이블 생성, 데이터 삽입 (0) | 2021.11.04 |
[Python] 모듈과 패키지 (0) | 2021.11.03 |
[Python] 가상환경 설정 및 패키지 설치하기 (WSL) (0) | 2021.11.01 |
댓글