Come utilizzare Psycopg2 per collegare Python a PostgreSQL

Come utilizzare Psycopg2 per collegare Python a PostgreSQL

PostgreSQL è un sistema di database oggetto-relazionale che è possibile collegare con diversi linguaggi di programmazione. Quando si crea un'applicazione Python, è possibile collegarlo al database PostgreSQL. Inoltre, collegare Python a PostgreSQL è semplificato, grazie al Psycopg2 Adattatore del database PostgreSQL.

Una volta installato l'adattatore sul tuo ambiente di sviluppo Python, è possibile eseguire tutte le attività di database PostgreSQL direttamente dall'applicazione Python. Questa guida copre diversi modi di utilizzare l'adattatore del database PsyCOPG2 quando si lavora con uno script Python.

Come utilizzare Psycopg2 per collegare Python a PostgreSQL

Psycopg2 è un modulo Python che puoi installare quando si lavora con Python. Per questo tutorial, lavoriamo su un ambiente virtuale di Python. Per installare psycopg2, utilizzare il PIP comando.

$ pip Installa Psycopg2-Binary

Creiamo un database PostgreSQL con cui lavoreremo dallo script Python. Apri la tua console PostgreSQL e crea un database a cui ti connetti da Python.

Abbiamo diversi casi d'uso su come utilizzare il modulo PsyCopg2 per collegare Python a PostgreSQL.

Connessione ai database PostgreSQL

La prima cosa che devi fare quando si utilizza il modulo Psycopg2 è creare una connessione al database PostgreSQL da Python.

Inizia importando il modulo Psycopg2 sullo script Python. Quindi, usa il Collegare() Per creare un'istanza del database a cui si desidera connettere. Si noti che è necessario specificare il nome del database, l'utente e la password. In alcuni casi, è possibile specificare l'host e la porta.

Ecco un esempio:

Con la semplice connessione del database creata, testarla eseguendo lo script Python per vedere se restituisce il messaggio specificato dopo che l'oggetto di connessione è stato restituito.

$ Python

Creazione di una tabella

Per eseguire le query PostgreSQL dal tuo script Python, è necessario creare un oggetto cursore da usare in tutto il codice Python. Il seguente esempio utilizza il cursore() Per eseguire una query per creare una tabella nel database. Inoltre, alleggiamo il codice in a Try-Except-finalmente per un facile debug. Nota che dovresti chiudere il connessione oggetto e cursore funzione alla fine dello script.

Supponiamo di testare la nostra sceneggiatura Python. Confermiamo che riusciamo a creare la tabella e ottenere un errore quando abbiamo provato di eseguire nuovamente lo script poiché abbiamo già creato la tabella.

L'oggetto cursore può essere usato con metodi diversi. Ad esempio, il seguente esempio inserisce i valori nella tabella creata in precedenza. Tuttavia, utilizziamo l'oggetto cursore per interrogare il database e selezionare tutti gli elementi che abbiamo inserito utilizzando il fetchall ().

L'output dopo aver eseguito lo script conferma che siamo riusciti a interrogare la tabella nel nostro database PostgreSQL.

ExecuteMany

Un'altra eccellente funzione da utilizzare con l'oggetto cursore è l'ExecuteMany (). La funzione è utile quando si eseguono una query che influisce sulle diverse tuple dei parametri nella sequenza fornita. Ad esempio, lo usiamo per ricreare una determinata tabella inserendo più valori da una sequenza specificata.

Supponiamo di usare il fethall () per interrogare i valori nella tabella ricreata. L'output fornisce tutti i valori disponibili nella tabella ricreata.

Fetchone

La funzione viene utilizzata quando si desidera restituire la riga successiva in un determinato set di risultati di query. Se non c'è la prossima riga, ritorna Nessuno oppure visualizza il messaggio specificato per confermare che hai raggiunto l'ultima riga.

Nel seguente esempio, creiamo a mentre loop Per stampare tutti i valori da una determinata tabella. Quando arriviamo all'ultima riga, interromiamo il ciclo e stampiamo un messaggio che conferma che non esiste una riga successiva.

L'output stampa tutti i valori nella tabella e un messaggio personalizzato quando la riga successiva restituisce Nessuno.

Fetcall

A differenza del fetchone che restituisce la riga successiva nel set di query, il fethall restituisce tutte le righe rimanenti come elenco di tuple. Supponiamo che la query specificata non abbia record. Restituisce un set vuoto.

Ecco l'output dei record recuperati che vengono restituiti come un elenco di tuple.

Query parametrizzata

Psycopg2 consente inoltre di utilizzare le query parametri in cui si crea un segnaposto per valori invece di scriverli direttamente nella query. In questo modo, migliora la sicurezza della tua applicazione.

L'esempio seguente dimostra come utilizzare le query parametrizzate per contenere i valori per una query postgresql di aggiornamento.

Gli esempi precedenti sono i modi comuni in cui è possibile utilizzare Psycopg2. È possibile verificare ulteriori funzioni dalla documentazione. Ma ora capisci cos'è il modulo Psycopg2 e come usarlo sul tuo progetto Python.

Conclusione

Psycopg2 è un modulo Python che facilita la connessione tra Python e PostgreSQL. Abbiamo visto come installare il modulo, creare una connessione di database PostgreSQL e utilizzare i diversi oggetti e funzioni per funzionare con un database PostgreSQL direttamente da Python. Usa questa fondazione per salire alle stelle il tuo prossimo Python con il progetto di database PostgreSQL.