반응형
목차
파이썬 SQLite DB불러오기
앞 포스트에서 테이블을 만들고 데이터를 저장하는 방법에 대해 알아보았습니다(https://scribblinganything.tistory.com/597). 이번 포스트는 저장된 DB를 읽는 방법에 대해 알아보겠습니다.
우선 SQLite에서 모든 데이터를 부를 때 아래와 같은 명령어를 사용합니다.
SELECT * FROM 테이블명
테이블에 있는 모든 데이터(별표)를 선택하겠다는 의미 입니다. 그리고 fetchall 함수로 데이터를 불러 옵니다. 아래 파이썬 예제로 쉽게 이해해 보겠습니다.
현재 SQLite 데이터 베이스에는 아래와 같은 정보가 포함되어 있습니다.
예제 코드>>
import sqlite3
from sqlite3 import Error
def connection():
try:
con = sqlite3.connect('test0.db')
return con
except Error:
print(Error)
def read_all(con):
cursor_db = con.cursor()
cursor_db.execute('SELECT * FROM checkup')
raw_datas = cursor_db.fetchall()
for _ in raw_datas:
print(_)
con = connection()
read_all(con)
4~9번 라인: DB 파일에 연결 함수
13번 라인: SQLite 읽기 명령 실행
14번 라인: fetchall로 불러오기
15~16번 라인: 출력
결과>>
(1, 'Miller', '170cm', '70kg', '2022/09/07')
(2, 'James', '150cm', '60kg', '2022/09/08')
(3, 'John', '180cm', '90kg', '2022/09/08')
파이썬 SQLite 테이블 검색하기(Search)
특정 조건을 검색할 때 SQLite는 where 명령을 사용합니다. 그리고 추가 조건을 넣고 싶을 경우 AND를 넣어서 실행합니다. 이번에는 테이블을 검색할 때 아래와 같이 사용하시면 됩니다.
SELECT name from sqlite_master where type="table" AND 조건문
아래 예제를 통해 쉽게 이해해 보겠습니다.
예제코드>>
import sqlite3
from sqlite3 import Error
def connection():
try:
con = sqlite3.connect('test0.db')
return con
except Error:
print(Error)
def check_table(con):
cursor_db = con.cursor()
cursor_db.execute('SELECT name from sqlite_master where type= "table" AND name="checkup"')
print(cursor_db.fetchall())
con = connection()
check_table(con)
13번 라인: table 종류에서 테이블의 이름이 checkup이 있는지 확인하고 있으면 이름을 선택합니다.
14번 라인: 선택한 이름을 불러 옵니다.
결과>>
[('checkup',)]
테이블이 없다면 빈 값이 출력 됩니다.
반응형
'데이터베이스(db) > SQLite' 카테고리의 다른 글
[Python] SQLite 데이터 하나 쓰기, 여러개 쓰기 삭제하기 조건걸기(Write, Delete) (0) | 2022.09.23 |
---|---|
[Python] SQLite 테이블 if not 으로 검색 후 생성, 삭제(drop, delete) (0) | 2022.09.22 |
[Python] SQLite 데이터베이스에 값 입력하기, 변경하기(Insert, Update) (0) | 2022.09.07 |
[Python] SQLite DB만들기, 테이블 생성하기(memory, file, table) (0) | 2022.09.07 |
[Python]SQL이란? 파이썬에서 SQLite 연결하기(connect) (2) | 2022.09.06 |