Andmete sisestamine PostgreSQL-i andmebaasi

Kui mõni teie väljadest nõuab kuupäeva või kellaaega, soovite importida ka datetime mooduli, mis on Pythoni standardvarustuses.

Ühenduse loomiseks andmebaasiga vajab psycopg kahte argumenti: andmebaasi nimi ('dbname') ja kasutaja ('user') nimi. Ühenduse avamise süntaks järgib seda vormingut:

Meie andmebaasi jaoks kasutatakse andmebaasi nime 'linnud' ja kasutajanime 'robert'. Kasutame programmis oleva ühenduse objekti jaoks muutujat 'ühendus'. Niisiis, meie ühenduskäsk on järgmine:

Loomulikult töötab see käsk ainult siis, kui mõlemad muutujad on täpsed: peab olema tõeline andmebaas nimega Birds, millele on juurdepääs robert-nimelisel kasutajal. Kui ühte neist tingimustest ei täideta, viskab Python vea.

Järgmisena meeldib Pythonile, kui ta saab andmebaasi lugedes ja kirjutades jälgida, kus ta viimati pooleli jäi. Psycopg-s nimetatakse seda kursoriks, kuid me kasutame oma programmi jaoks muutujat "mark". Seejärel saame konstrueerida järgmise ülesande:

Kuigi mõned SQL-i sisestamisvormingud võimaldavad veergude arusaadavat või kinnistamata vormingut, kasutame sisestuslausete jaoks järgmist malli:

instagram viewer

Kuigi me võiksime edastada sellises vormingus avalduse psycopg-meetodile „käivita“ ja sisestada andmed andmebaasi, muutub see kiiresti keerukaks ja segaseks. Parem viis on eraldada avaldus eralduskäsust "täitma" eraldi järgmiselt:

Lõpuks, pärast andmete edastamist PostgreSQL-i, peame andmed siduma andmebaasiga:

Nüüd oleme ehitanud oma funktsiooni 'insert' põhiosad. Kokku pannes näevad osad välja sellised:

Võite märgata, et meie avalduses on kolm muutujat: tabel, veerud ja väärtused. Nendest saavad parameetrid, millega funktsiooni nimetatakse:

Muidugi peaksime seda järgima doc-stringi abil:

Lõpuks on meil funktsioon andmete sisestamiseks enda valitud tabelisse, kasutades veerge ja väärtusi, mis on määratletud vastavalt vajadusele.

Selle funktsiooni kutsumiseks peame lihtsalt määratlema tabeli, veerud ja väärtused ning edastama need järgmiselt:

instagram story viewer