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()