Vkladanie údajov do databázy PostgreSQL

Ak niektoré z polí vyžadujú dátum alebo čas, budete chcieť importovať aj modul datetime, ktorý je štandardne dodávaný s programom Python.

Na otvorenie spojenia s databázou potrebuje psycopg dva argumenty: názov databázy ('dbname') a meno používateľa ('user'). Syntax pre otvorenie pripojenia má tento formát:

V našej databáze použijeme názov databázy „Birds“ a používateľské meno „robert“. Pre objekt pripojenia v rámci programu použite premennú „pripojenie“. Náš príkaz na pripojenie sa bude čítať takto:

Tento príkaz bude samozrejme fungovať iba vtedy, ak budú obe premenné presné: musí existovať skutočná databáza s názvom „Vtáky“, ku ktorej má prístup používateľ s názvom „robert“. Ak niektorá z týchto podmienok nie je splnená, Python vyvolá chybu.

Ďalej si Python rád prečíta pri čítaní a zápise do databázy informácie o tom, kde naposledy zostal. V psycopg sa to nazýva kurzor, ale pre náš program použijeme premennú 'mark'. Môžeme teda skonštruovať nasledujúce priradenie:

Zatiaľ čo niektoré formáty vloženia SQL umožňujú zrozumiteľnú alebo neštandardnú štruktúru stĺpcov, pre príkazy vloženia budeme používať nasledujúcu šablónu:

instagram viewer

Aj keď by sme mohli príkaz v tomto formáte odovzdať metóde psycopg 'execute' a tak vložiť údaje do databázy, rýchlo sa to stane zmäteným a mätúcim. Lepším spôsobom je rozdelenie príkazu oddelene od príkazu „vykonať“:

Nakoniec, po odovzdaní údajov PostgreSQL, musíme údaje odovzdať do databázy:

Teraz sme zostavili základné časti našej funkcie 'insert'. Zložené súčasti vyzerajú takto:

Všimnite si, že v našom výkaze sú tri premenné: tabuľka, stĺpce a hodnoty. Stávajú sa tak parametrami, ktorými sa funkcia volá:

Mali by sme to, samozrejme, nasledovať reťazcom doc:

Nakoniec máme funkciu vkladania údajov do tabuľky podľa vlastného výberu, pomocou stĺpcov a hodnôt definovaných podľa potreby.

Aby sme túto funkciu mohli zavolať, musíme jednoducho definovať tabuľku, stĺpce a hodnoty a odovzdať ich nasledujúcim spôsobom: