더북(TheBook)

5.2.2 데이터 조회: select

balance 테이블에 넣었던 데이터를 DB Browser 같은 툴 없이 코드로 조회해 보겠습니다. 이 방법은 select라는 키워드를 사용하여 SQL을 구성합니다.

db_helper.py

import sqlite3
conn = sqlite3.connect('universe_price.db', isolation_level=None)

cur = conn.cursor()
cur.execute('select * from balance’)

row = cur.fetchone()
print(row)

cur.execute에 전달되는 SQL, 'select * from balance'에서 ‘select’는 조회하겠다는 것이고, ‘*’는 해당 테이블에 있는 모든 행(rows)의 모든 열(columns)을 조회하겠다는 것입니다. 반대로 ‘*’를 사용하지 않고 필요한 열만 조회하고 싶으면 열 이름을 입력합니다. 예를 들어 ‘select code, created_at from balance’라고 SQL을 작성하면 모든 행에서 code와 created_at이라는 열 두 개만 조회하겠다는 것입니다. 이 부분은 뒤에서 조회 결과를 살펴보며 다시 설명하겠습니다. 그다음 from은 어느 테이블에서 데이터를 얻어 올지 나타내기에 이 다음에는 데이터베이스에 있는 테이블 이름이 와야 합니다. balance 테이블은 데이터베이스에 미리 생성해 둔 테이블이니 이 SQL을 실행하면 정상적으로 조회 결과가 나옵니다. 하지만 from 다음에 존재하지 않는 테이블을 사용하면 에러가 발생합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.