Usare DuckDB in Python

Mattepuffo's logo
Usare DuckDB in Python

Usare DuckDB in Python

DuckDB è un database che potremmo usare al posto del classico SQLite.

Come potete vedere dalla documentazione, supporta parecchi linguaggi; inoltre pare essere più veloce e performante rispetto a SQLite.

In questo articolo vediamo come usarlo in Python; possiamo installarlo tramite pip:

pip install duckdb

Qui sotto un esempio di codice:

import duckdb

conn = duckdb.connect(database=':memory:')

conn.execute("CREATE TABLE prodotti(nome VARCHAR, prezzo DECIMAL(10,2))")

conn.execute("INSERT INTO prodotti VALUES (?, ?)", ['Jeans', 55.0])
conn.executemany("INSERT INTO prodotti VALUES (?, ?)", [['Jeans', 55.0], ['T-Sirt', 30], ['Pc', 3000]])

conn.execute("SELECT * FROM prodotti")
print(conn.fetchall())

conn.execute("SELECT * FROM prodotti WHERE prezzo > ?", [100])
print(conn.fetchall())

Qui abbiamo usato un db in memory, che quindi non tiene i dati in maniera persistente alla chiusura del programma.

Volendo possiamo creare un db locale usando questa istruzione:

conn = duckdb.connect(database='testdb.duckdb', read_only=False)

Enjoy!


Condividi

Commentami!