SQL 실행하기

SQL 실행하기 (Execute SQL)

SQL 쿼리는 duckdb.sql 함수로 실행할 수 있어요.

출처: 공식문서

import duckdb

duckdb.sql("SELECT 42").show()

기본적으로 이렇게 하면 relation 객체가 만들어져요. 이 결과는 결과 변환 함수를 이용해 다양한 형식으로 바꿀 수 있어요. 예를 들어 fetchall 메서드를 쓰면 결과를 Python 객체로 변환할 수 있어요.

results = duckdb.sql("SELECT 42").fetchall()
print(results)
[(42,)]

다른 결과 객체들도 있어요. 예를 들어 df를 쓰면 결과를 Pandas DataFrame으로 변환할 수 있어요.

results = duckdb.sql("SELECT 42").df()
print(results)
    42
 0  42

기본적으로 전역 인메모리(in-memory) 연결이 사용돼요. 파일에 저장된 데이터는 프로그램이 종료되면 사라져요. 영구적인 데이터베이스에 연결하려면 connect 함수를 사용하면 돼요.

연결한 뒤에는 sql 명령으로 SQL 쿼리를 실행할 수 있어요.

con = duckdb.connect("file.db")
con.sql("CREATE TABLE integers (i INTEGER)")
con.sql("INSERT INTO integers VALUES (42)")
con.sql("SELECT * FROM integers").show()

더 알아보기 (Learn more)