PostgreSQL Python: hantering av BLOB-Data

sammanfattning: i den här handledningen lär du dig att hantera PostgreSQL BLOB-data i Python.

standard SQL definierar BLOB som det binära stora objektet för lagring av binära data i databasen. Med BLOB-datatypen kan du lagra innehållet i en bild, ett dokument etc. in i bordet.

PostgreSQL stöder inte BLOB men du kan använda datatypen BYTEA för att lagra binära data.

Låt oss ta en titt på tabellen part_drawings.

tabellen part_drawings lagrar bilderna på delar i kolumnen drawing_data. Vi visar hur du sätter in binära data i den här kolumnen och läser tillbaka den.

infoga BLOB i en tabell

om du vill infoga BLOB-data i en tabell använder du följande steg:

  1. läs först data från en fil.
  2. anslut sedan till PostgreSQL-databasen genom att skapa ett nytt anslutningsobjekt från funktionen connect().
  3. skapa sedan ett cursor objekt från connection objektet.
  4. kör sedan INSERT-satsen med ingångsvärdena. För BLOB-data använder duBinary – objektet i psycopg-modulen
  5. slutligen, begå ändringarna permanent i PostgreSQL-databasen genom att anropa commit() – metoden för connection – objektet.

följande write_blob() – funktion läser binära data från en fil som anges av parametern path_to_file och infogar den i tabellen part_drawings.

följande utdrag anropar funktionen write_blob () två gånger för att infoga två nya delar med motsvarande binära data från bildfilerna i tabellen part_drawings.

Code language: Python (python)

Läs BLOB i tabellen

stegen för att läsa BLOB från en tabell liknar stegen för att fråga data från en tabell. Efter att ha hämtat binära data från tabellen kan vi spara till en fil, mata ut den till webbläsaren etc.

följande read_blob() – funktion väljer BLOB-data från tabellen part_drawings baserat på ett angivet del-id och sparar BLOB-data i en fil.

följande utdrag läser binärdata för delarna med id-värde 1 och 2 och sparar binärdata i mappen images/blob.

i denna handledning har du lärt dig hur du hanterar PostgreSQL BLOB-data i Python med hjälp av psycopg database adapter.

  • var denna handledning till hjälp ?
  • Janej

Lämna ett svar

Din e-postadress kommer inte publiceras.