Bild in MySQL-Datenbank speichern

Preet Sanghavi 21 Januar 2022 SQL SQL Image
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';
Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
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