더북(TheBook)

이어서 다음을 살펴보면 row = cur.fetchone()이라는 코드가 등장합니다. SQL을 실행할 때 cur 객체의 execute 함수로 cur.execute(SQL)처럼 사용했습니다. 이후 SQL 실행 결과는 마찬가지로 cur 객체로 확인할 수 있습니다. 여기서 fetchone이라는 함수는 첫 번째 행 데이터 하나만(one) 가져오겠다는(fetch) 의미입니다. 실행 결과를 확인해 보면 다음과 같습니다.

('005930', 70000, 10, '20201222', 'today')

이 결과를 살펴보면 fetchone 함수를 사용했기 때문에 하나의 행만 조회되었으며, 모든 열이 조회되는 이유는 'select * from balance'에서 설명한 것처럼 모든 열을 의미하는 *를 사용했기 때문입니다. 이와 다르게 code, created_at 열 두 개만 조회하려고 SQL을 다음과 같이 바꾸면 실행 결과가 다르게 나옵니다.

db_helper.py

(...)
cur.execute('select code, created_at from balance')

row = cur.fetchone()
print(row)

이 코드의 실행 결과는 다음과 같습니다.

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