Stocker l'image dans la base de données MySQL

Preet Sanghavi 21 janvier 2022
Stocker l'image dans la base de données MySQL

Dans ce tutoriel, nous visons à comprendre comment stocker des images dans une base de données MySQL.

Le SQL standard utilise les types de données BLOB (Binary Large Object) pour stocker de grandes quantités de données.

Une séquence d’octets ou d’octets définit une chaîne binaire, généralement utilisée pour stocker des images volumineuses ou des fichiers multimédias tels que des données audio et vidéo dans la base de données MySQL. La valeur BLOB est flexible pour l’écrire sous forme de valeurs binaires ou de chaîne selon l’exigence.

Essayons de comprendre comment cela fonctionne.

Pour commencer, nous créons un tableau nommé student_details avec la colonne stu_photograph. Ici, la photographie de l’image serait stockée dans la colonne stu_photograph.

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

Insérons maintenant la photo de l’étudiant dans le tableau avec stu_photograph comme colonne dans laquelle l’image doit être placée.

Remarque : Dans la fonction LOAD_FILE, nous saisissons le chemin de l’image que nous souhaitons télécharger dans la base de données MySQL. Cette fonction nous aide à stocker une image dans un BLOB.

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

Le code ci-dessus saisirait les données de l’étudiant dans le tableau student_details. On peut visualiser ce tableau avec la commande suivante :

select * from stu_information;

Le bloc de code indiqué ci-dessus générerait la sortie suivante :

stocker l’image dans mysql

Comme nous pouvons le voir ci-dessus, la colonne stu_photograph a été créée avec le support des données BLOB pour stocker les images.

Remarque : Avant d’ajouter une image à la colonne stu_photograph, assurez-vous d’ajouter le privilège d’image dans votre utilisateur MySQL.

Nous pouvons accorder le privilège FILE en se connectant à la racine et en exécutant la commande suivante :

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