Vkládání dat do databáze PostgreSQL

Pokud některé z vašich polí vyžadují datum nebo čas, budete chtít také importovat modul datetime, který je standardně dodáván s Pythonem.

Pro otevření připojení k databázi potřebuje psycopg dva argumenty: jméno databáze ('dbname') a jméno uživatele ('user'). Syntaxe pro otevření připojení má tento formát:

Pro naši databázi použijeme název databáze „Birds“ a uživatelské jméno „robert“. Pro objekt připojení v programu použijeme proměnnou 'connection'. Náš příkaz pro připojení bude tedy znít takto:

Tento příkaz bude samozřejmě fungovat pouze v případě, že jsou obě proměnné přesné: musí existovat skutečná databáze s názvem „Ptáci“, ke které má přístup uživatel s názvem „robert“. Pokud některá z těchto podmínek není splněna, Python vyvolá chybu.

Dále si Python rád přečte, kde naposledy při čtení a zápisu do databáze zůstal. V psycopg se to nazývá kurzor, ale pro náš program použijeme proměnnou 'mark'. Můžeme tedy zkonstruovat následující přiřazení:

Zatímco některé formáty vkládání SQL umožňují pochopenou nebo nestatovanou strukturu sloupců, pro naše příkazy vložení použijeme následující šablonu:

instagram viewer

I když bychom mohli předat příkaz v tomto formátu metodě psycopg 'execute' a tak vložit data do databáze, rychle se to stane spletitým a matoucím. Lepším způsobem je rozdělit příkaz odděleně od příkazu 'execute' takto:

Nakonec, po předání dat PostgreSQL, musíme data odevzdat do databáze:

Nyní jsme vytvořili základní části naší funkce 'insert'. Díly dohromady vypadají takto:

Všimněte si, že v našem příkazu máme tři proměnné: tabulka, sloupce a hodnoty. Stávají se tak parametry, kterými se funkce nazývá:

Měli bychom to samozřejmě následovat řetězcem doc:

Nakonec máme funkci pro vkládání dat do tabulky dle našeho výběru, pomocí sloupců a hodnot definovaných podle potřeby.

Abychom tuto funkci mohli zavolat, musíme jednoduše definovat tabulku, sloupce a hodnoty a předat je následujícím způsobem:

instagram story viewer