Bild in MySQL-Datenbank speichern

Preet Sanghavi 21 Januar 2022
Bild in MySQL-Datenbank speichern

In diesem Tutorial möchten wir verstehen, wie Bilder in einer MySQL-Datenbank gespeichert werden.

Standard-SQL verwendet BLOB-Datentypen (Binary Large Object), um grosse Datenmengen zu speichern.

Eine Folge von Bytes oder Oktetten definiert eine binäre Zeichenkette, die normalerweise verwendet wird, um große Bilder oder Mediendateien wie Audio- und Videodaten in der MySQL-Datenbank zu speichern. Der Wert BLOB kann je nach Anforderung flexibel als Binär- oder String-Wert geschrieben werden.

Versuchen wir zu verstehen, wie das funktioniert.

Zunächst erstellen wir eine Tabelle namens student_details mit der Spalte stu_photograph. Hier würde das Foto des Bildes in der Spalte stu_photograph gespeichert.

-- Using the following table as an example:
CREATE TABLE stu_information(
 	stu_photograph BLOB
);

Fügen wir nun ein Schülerfoto in die Tabelle ein, wobei stu_photograph als Spalte dient, in der das Bild platziert werden soll.

Hinweis: In der Funktion LOAD_FILE tragen wir den Bildpfad ein, den wir in die MySQL-Datenbank hochladen möchten. Diese Funktion hilft uns, ein Bild in einem BLOB zu speichern.

-- This will insert a file in a BLOB column.
INSERT INTO stu_information (stu_photograph) VALUES(LOAD_FILE('/image_path/image_fileName.png'));

Der obige Code würde die Studierendendaten in die Tabelle student_details eintragen. Wir können diese Tabelle mit dem folgenden Befehl visualisieren:

select * from stu_information;

Der oben angegebene Codeblock würde die folgende Ausgabe erzeugen:

Bild in mysql speichern

Wie wir oben sehen können, wurde die Spalte stu_photograph mit BLOB-Datenunterstützung erstellt, um Bilder zu speichern.

Hinweis: Bevor Sie ein Bild zur Spalte stu_photograph hinzufügen, stellen Sie sicher, dass Sie Ihrem MySQL-Benutzer die Bildberechtigung hinzufügen.

Wir können das Privileg FILE gewähren, indem wir uns beim Root anmelden und den folgenden Befehl ausführen:

GRANT FILE ON *.* TO 'mysql_user'@'localhost';
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub