Inserimento di dati in un database PostgreSQL

Se uno dei tuoi campi richiede una data o un'ora, vorrai anche importare il modulo datetime, fornito di serie con Python.

Per aprire una connessione a un database, psycopg necessita di due argomenti: il nome del database ('dbname') e il nome dell'utente ('user'). La sintassi per l'apertura di una connessione segue questo formato:

Per il nostro database, utilizzeremo il nome del database "Birds" e il nome utente "robert". Per l'oggetto di connessione all'interno del programma, usiamo la variabile 'connessione'. Quindi, il nostro comando di connessione leggerà come segue:

Naturalmente, questo comando funzionerà solo se entrambe le variabili sono accurate: deve esserci un vero database chiamato 'Birds' a cui ha accesso un utente chiamato 'robert'. Se una di queste condizioni non viene soddisfatta, Python genererà un errore.

Successivamente, a Python piace essere in grado di tenere traccia di dove era stato interrotto l'ultima volta durante la lettura e la scrittura nel database. In psycopg, questo è chiamato cursore, ma useremo la variabile 'mark' per il nostro programma. Quindi, possiamo quindi costruire il seguente incarico:

instagram viewer

Mentre alcuni formati di inserimento SQL consentono la struttura di colonne compresa o non dichiarata, per le nostre istruzioni di inserimento utilizzeremo il modello seguente:

Mentre potremmo passare un'istruzione in questo formato al metodo psycopg "esegui" e quindi inserire i dati nel database, questo diventa rapidamente contorto e confuso. Un modo migliore è compartimentare l'istruzione separatamente dal comando 'esegui' come segue:

Infine, dopo aver passato i dati a PostgreSQL, è necessario eseguire il commit dei dati nel database:

Ora abbiamo costruito le parti di base della nostra funzione 'insert'. Messi insieme, le parti si presentano così:

Noterai che abbiamo tre variabili nella nostra dichiarazione: tabella, colonne e valori. Questi diventano così i parametri con cui viene chiamata la funzione:

Dovremmo, ovviamente, seguirlo con una stringa doc:

Infine, abbiamo una funzione per inserire dati in una tabella di nostra scelta, usando colonne e valori definiti come necessario.

Per chiamare questa funzione, dobbiamo semplicemente definire la tabella, le colonne e i valori e passarli come segue: