Gegevens invoegen in een PostgreSQL-database

Als een van uw velden een datum of tijd vereist, wilt u ook de datetime-module importeren, die standaard bij Python wordt geleverd.

Om een ​​verbinding met een database te openen, heeft psycopg twee argumenten nodig: de naam van de database ('dbname') en de naam van de gebruiker ('user'). De syntaxis voor het openen van een verbinding volgt dit formaat:

Voor onze database gebruiken we de databasenaam 'Birds' en de gebruikersnaam 'robert'. Laten we voor het verbindingsobject binnen het programma de variabele 'verbinding' gebruiken. Dus onze verbindingsopdracht luidt als volgt:

Uiteraard werkt deze opdracht alleen als beide variabelen kloppen: er moet een echte database zijn met de naam 'Birds' waartoe een gebruiker met de naam 'robert' toegang heeft. Als aan een van deze voorwaarden niet is voldaan, zal Python een foutmelding geven.

Vervolgens wil Python graag kunnen bijhouden waar het voor het laatst was gebleven bij het lezen en schrijven naar de database. In psycopg wordt dit de cursor genoemd, maar we zullen de variabele 'mark' gebruiken voor ons programma. We kunnen dan de volgende opdracht maken:

instagram viewer

Hoewel sommige SQL-invoegindelingen een begrepen of niet-vermelde kolomstructuur mogelijk maken, gebruiken we de volgende sjabloon voor onze invoeginstructies:

Hoewel we een verklaring in dit formaat aan de psycopg-methode 'uitvoeren' kunnen doorgeven en zo gegevens in de database kunnen invoegen, wordt dit snel ingewikkeld en verwarrend. Een betere manier is om de instructie apart van het 'uitvoeren'-commando als volgt in te delen:

Ten slotte, nadat we de gegevens aan PostgreSQL hebben doorgegeven, moeten we de gegevens in de database vastleggen:

Nu hebben we de basisonderdelen van onze functie 'insert' geconstrueerd. Bij elkaar zien de onderdelen er als volgt uit:

U zult merken dat we drie variabelen in onze verklaring hebben: tabel, kolommen en waarden. Dit worden dus de parameters waarmee de functie wordt aangeroepen:

We moeten dat natuurlijk volgen met een doc string:

Ten slotte hebben we een functie voor het invoegen van gegevens in een tabel naar keuze, met behulp van kolommen en waarden die naar behoefte zijn gedefinieerd.

Om deze functie aan te roepen, hoeven we alleen maar de tabel, kolommen en waarden te definiëren en ze als volgt door te geven:

instagram story viewer