PostgreSQL Python: Umgang mit BLOB-Daten

Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie mit PostgreSQL-BLOB-Daten in Python umgehen.

Standard SQL definiert BLOB als das binary Large Object zum Speichern von Binärdaten in der Datenbank. Mit dem Datentyp BLOB können Sie den Inhalt eines Bildes, eines Dokuments usw. speichern. in den Tisch.

PostgreSQL unterstützt kein BLOB, aber Sie können den BYTEA-Datentyp zum Speichern der Binärdaten verwenden.

Schauen wir uns die part_drawings -Tabelle an.

Die Tabelle part_drawings speichert die Bilder der Teile in der Spalte drawing_data. Wir zeigen Ihnen, wie Sie Binärdaten in diese Spalte einfügen und zurücklesen.

BLOB in eine Tabelle einfügen

Um BLOB-Daten in eine Tabelle einzufügen, führen Sie die folgenden Schritte aus:

  1. Lesen Sie zuerst Daten aus einer Datei.
  2. Stellen Sie als Nächstes eine Verbindung zur PostgreSQL-Datenbank her, indem Sie ein neues Verbindungsobjekt aus der Funktion connect() erstellen.
  3. Erstellen Sie dann ein cursor -Objekt aus dem connection -Objekt.
  4. Führen Sie danach die INSERT-Anweisung mit den Eingabewerten aus. Für BLOB-Daten verwenden Sie das Binary -Objekt des psycopg-Moduls
  5. Schließlich übernehmen Sie die Änderungen dauerhaft in die PostgreSQL-Datenbank, indem Sie die commit() -Methode des connection -Objekts aufrufen.

Die folgende write_blob()-Funktion liest Binärdaten aus einer durch den Parameter path_to_file angegebenen Datei und fügt sie in die Tabelle part_drawings ein.

Das folgende Snippet ruft die Funktion write_blob ()zweimal auf, um zwei neue Teile mit den entsprechenden Binärdaten aus den Bilddateien in die Tabelle part_drawings einzufügen.

Code language: Python (python)

BLOB in der Tabelle lesen

Die Schritte zum Lesen von BLOB aus einer Tabelle ähneln den Schritten zum Abfragen von Daten aus einer Tabelle. Nachdem wir Binärdaten aus der Tabelle abgerufen haben, können wir sie in einer Datei speichern, an den Webbrowser ausgeben usw.

Die folgende read_blob()-Funktion wählt BLOB-Daten aus der part_drawings-Tabelle basierend auf einer angegebenen Teil-ID aus und speichert die BLOB-Daten in einer Datei.

Das folgende Snippet liest die Binärdaten der Teile mit den ID-Werten 1 und 2 und speichert die Binärdaten im Ordner images/blob.

In diesem Tutorial haben Sie gelernt, wie Sie mit PostgreSQL-BLOB-Daten in Python mit psycopg database Adapter umgehen.

  • War dieses Tutorial hilfreich ?
  • JaNein

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.