Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 SQL 데이터베이스에서 샘플 데이터를 읽는 방법


학생 기록(student records)이 저장되어 있는 sqlite3 데이터베이스가 있다고 가정해 보겠습니다. 이 데이터베이스의 모든 데이터를 읽어오면 다음과 같은 결과를 얻을 수 있습니다.

  Id Name
0 1 stud1
1 2 stud2
2 3 stud3
3 4 stud4
4 5 stud5

해결 방법

이 문제를 해결하기 위해 아래 단계를 순서대로 따라 해 보겠습니다.

  • 먼저 새로운 데이터베이스 연결(connection)을 정의합니다.

con = sqlite3.connect("db.sqlite3")
  • 다음으로, pandas에서 제공하는 아래 함수를 사용하여 데이터베이스로부터 SQL 데이터를 읽어옵니다.

pd.read_sql_query()
  • read_sql_query 함수에 SQL 쿼리문과 위에서 생성한 연결 객체(con)를 함께 전달하여, 테이블에 있는 모든 학생 데이터를 조회합니다.

pd.read_sql_query("SELECT * FROM student", con)

예제

더 잘 이해하실 수 있도록 전체 구현 코드를 살펴보겠습니다. 먼저 데이터 분석 라이브러리인 pandas와 Python 내장 모듈인 sqlite3를 임포트한 뒤, 데이터베이스에 연결하여 쿼리를 실행하고 결과를 DataFrame 형태로 출력합니다.

import pandas as pd
import sqlite3

# 데이터베이스 연결 생성
con = sqlite3.connect("db.sqlite3")

# SQL 쿼리 실행 후 DataFrame으로 변환
df = pd.read_sql_query("SELECT * FROM student", con)
print(df)

출력 결과

  Id Name
0 1 stud1
1 2 stud2
2 3 stud3
3 4 stud4
4 5 stud5

이처럼 pd.read_sql_query()를 활용하면 SQL 쿼리 실행 결과를 손쉽게 pandas DataFrame으로 받아올 수 있으며, 이후 데이터 분석 및 가공 작업을 매우 편리하게 수행할 수 있습니다.