Infoga data i en PostgreSQL-databas

Om något av dina fält kräver ett datum eller tid, vill du också importera datetime-modulen, som levereras som standard med Python.

För att öppna en anslutning till en databas behöver psycopg två argument: databasens namn ('dbname') och användarens namn ('user'). Syntaxen för att öppna en anslutning följer detta format:

För vår databas ska vi använda databasnamnet "Fåglar" och användarnamnet "robert". För anslutningsobjektet i programmet, låt oss använda variabeln "anslutning". Så, vårt anslutningskommando kommer att läsa enligt följande:

Naturligtvis fungerar detta kommando endast om båda variablerna är korrekta: det måste finnas en riktig databas med namnet 'Fåglar' som en användare med namnet 'robert' har åtkomst till. Om någon av dessa villkor inte är uppfylld, kommer Python att kasta ett fel.

Därefter gillar Python att kunna hålla reda på var den senast slutade vid läsning och skrivning till databasen. I psycopg kallas detta markören, men vi kommer att använda variabeln "mark" för vårt program. Så vi kan sedan konstruera följande uppdrag:

instagram viewer

Medan vissa SQL-införingsformat möjliggör förstås eller ostatad kolumnstruktur, kommer vi att använda följande mall för våra infogningsuppdrag

Även om vi kunde skicka ett uttalande i detta format till psycopg-metoden 'exekvera' och så infoga data i databasen, blir detta snabbt omvecklat och förvirrande. Ett bättre sätt är att dela in uttalandet separat från kommandot "exekvera" enligt följande:

Slutligen, efter att ha skickat data till PostgreSQL, måste vi överföra data till databasen:

Nu har vi konstruerat de grundläggande delarna av vår funktion 'insert'. Sätt ihop, delarna ser ut så här:

Du kommer att märka att vi har tre variabler i vårt uttalande: tabell, kolumner och värden. Dessa blir således de parametrar som funktionen kallas för:

Vi borde naturligtvis följa det med en doc-sträng:

Slutligen har vi en funktion för att infoga data i en valfri tabell med hjälp av kolumner och värden definierade efter behov.

För att kalla denna funktion måste vi helt enkelt definiera tabellen, kolumnerna och värdena och skicka dem på följande sätt:

instagram story viewer