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:
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';