shrnutí: v tomto tutoriálu se dozvíte, jak zacházet s daty PostgreSQL BLOB v Pythonu.
standardní SQL definuje BLOB jako binární velký objekt pro ukládání binárních dat v databázi. S datovým typem BLOB můžete ukládat obsah obrázku, dokumentu atd. do stolu.
PostgreSQL nepodporuje BLOB, ale můžete použít datový typ BYTEA pro ukládání binárních dat.
podívejme se na tabulku part_drawings
.
tabulka part_drawings
ukládá obrázky dílů do sloupce drawing_data
. Ukážeme vám, jak do tohoto sloupce vložit binární data a přečíst je zpět.
vložit BLOB do tabulky
Chcete-li vložit data BLOB do tabulky, použijte následující kroky:
- nejprve si přečtěte data ze souboru.
- dále se připojte k databázi PostgreSQL vytvořením nového objektu připojení z funkce
connect()
. - potom vytvořte objekt
cursor
z objektuconnection
. - poté spusťte příkaz Vložit se vstupními hodnotami. Pro BLOB data použijete objekt
Binary
modulu psycopg - a nakonec změny trvale odevzdáte do databáze PostgreSQL voláním metody
commit()
objektuconnection
.
následující funkce write_blob()
načte binární data ze souboru určeného parametrem path_to_file
a vloží je do tabulky part_drawings
.
následující úryvek volá funkci write_blob ()
dvakrát pro vložení dvou nových částí s odpovídajícími binárními daty z obrazových souborů do tabulky part_drawings
.
Code language: Python (python)
číst BLOB v tabulce
kroky čtení BLOB z tabulky jsou podobné krokům dotazování dat z tabulky. Po načtení binárních dat z tabulky, můžeme uložit do souboru, výstup do webového prohlížeče, atd.
následující funkce read_blob()
vybere data BLOB z tabulky part_drawings
na základě zadaného ID součásti a uloží data BLOB do souboru.
následující úryvek přečte binární data částí s id hodnotou 1 a 2 a uloží binární data do složky images/blob
.
v tomto tutoriálu jste se naučili, jak zacházet s daty PostgreSQL BLOB v Pythonu pomocí adaptéru databáze psycopg.
- byl tento návod užitečný ?
- YesNo