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:
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: