Um ein Bild als BLOB (Binary Large Object) in einer MySQL-Datenbank zu speichern, müssen Sie eine Anweisung wie diese verwenden:
INSERT INTO Tabellenname (Spaltenname) VALUES (LOAD_FILE('/path/to/image.jpg'));
- „table_name“ ist der Name der Datenbanktabelle, in der das Bild gespeichert werden soll
- „column_name“ ist der Name der Spalte in der Tabelle, die das Bild enthalten wird
- „/path/to/image.jpg“ ist der Pfad zu Ihrer Bilddatei.
Wenn Sie beispielsweise ein Bild mit dem Namen „mein_Bild.jpg“ auf Ihrem Computer gespeichert haben und es in einer Tabelle mit dem Namen „Fotos“ in Ihrer Datenbank speichern möchten, würden Sie die folgende Anweisung verwenden:
INSERT INTO photos (image) VALUES (LOAD_FILE('/Users/myusername/Desktop/my_picture.jpg'));
Nach Ausführung dieser Anweisung wird das Bild als BLOB in der Spalte „image“ der Tabelle „photos“ gespeichert.
Um das Bild aus der Datenbank abzurufen, können Sie erneut die Funktion LOAD_FILE() verwenden. Um beispielsweise das in der Spalte „image“ der Tabelle „photos“ gespeicherte Bild abzurufen und es als „retrieved_image.jpg“ in Ihrem lokalen Verzeichnis zu speichern, können Sie die folgende Anweisung verwenden:
SELECT LOAD_FILE(image) INTO OUTFILE '/path/to/retrieved_image.jpg' FROM photos;
Es ist wichtig sicherzustellen, dass der MySQL-Benutzer, der die INSERT-Anweisung ausführt, über die erforderlichen Berechtigungen zum Lesen und Schreiben von Dateien verfügt. Beachten Sie außerdem die maximal zulässige BLOB-Größe in Ihrer spezifischen MySQL-Konfiguration, da diese je nach Version und Einstellungen begrenzt sein kann.