next up previous contents


7.4 Arbeiten mit Bildern

Einfacher als der Export/Import von und zu Tabellen ist das Arbeiten mit Blob-Feldern, d.h. Feldern, welche Binär-Informationen aufnehmen.

In der Tabelle 'seiten' haben wir bereits ein Blob-Feld mit dem Namen 'Bild' eröffnet. Sollten uns auf der Konsole keine Bilder zur Verfügung stehen, so importieren wir an dieser Stelle einfach eine beliebige Text-Datei:

mysql> update seiten set Bild=load_file('/home/up/mysql/export.tb') 
    -> where AkteID=1 and Seite=2;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Und weil das so einfach ging (vorausgesetzt wir haben die 'File_priv'-Rechte), möchten wir das Blob-Feld auch gleich wieder in eine Datei exportieren:

mysql> select Bild into dumpfile '/home/up/mysql/blobcopy' 
    -> from seiten where AkteID=1 and Seite=2;
Query OK, 1 row affected (0.01 sec)

Ich gebe zu, es gibt bequemere (und wohl auch effizientere) Arten, Dateien zu kopieren! Auch sollten wir uns bewusst sein, dass es verschiedene Arten von Blob-Feldern gibt. Der Unterschied besteht aber nur darin, wie viele Daten ein Blob-Feld aufnehmen kann. In einem Standard-Blob-Feld (BLOB) können wir 'nur' 64 KByte speichern, bei MEDIUMBLOB sind es bereits 16 MByte und bei LONGBLOB stehen immerhin 4 GByte zur Verfügung.



Dokument als PDF anzeigen -- © 2003-06-15 by Urs Pfister, CH-8057 Zürich