SQL in Python ausführen
SQL-Abfragen können mit der Funktion duckdb.sql ausgeführt werden.
import duckdb
duckdb.sql("SELECT 42").show()Standardmäßig erzeugt das ein Relation-Objekt. Das Ergebnis lässt sich mit den Ergebnisumwandlungsfunktionen in verschiedene Formate konvertieren. Mit der Methode fetchall können Sie das Ergebnis beispielsweise in Python-Objekte umwandeln.
results = duckdb.sql("SELECT 42").fetchall()print(results)[(42,)]Es gibt mehrere weitere Ergebnisobjekte. Mit df können Sie das Ergebnis beispielsweise in ein Pandas DataFrame umwandeln.
results = duckdb.sql("SELECT 42").df()print(results) 42 0 42Standardmäßig wird eine globale In-Memory-Verbindung verwendet. In Dateien gespeicherte Daten gehen nach dem Beenden des Programms verloren. Eine Verbindung zu einer persistenten Datenbank können Sie mit der Funktion connect herstellen.
Nach dem Verbinden können SQL-Abfragen mit dem Befehl sql ausgeführt werden.
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()