Almacenar imagen en la base de datos MySQL

Preet Sanghavi 21 enero 2022
Almacenar imagen en la base de datos MySQL

En este tutorial, nuestro objetivo es comprender cómo almacenar imágenes en una base de datos MySQL.

SQL estándar utiliza tipos de datos BLOB (objeto binario grande) para almacenar grandes cantidades de datos.

Una secuencia de bytes u octetos define una cadena binaria, generalmente utilizada para almacenar imágenes grandes o archivos multimedia como datos de audio y video en la base de datos MySQL. El valor BLOB es flexible para escribirlo como valores binarios o de cadena según el requisito.

Tratemos de entender cómo funciona esto.

Para empezar, creamos una tabla llamada student_details con la columna stu_photograph. Aquí, la fotografía de la imagen se almacenaría en la columna stu_photograph.

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

Ahora insertemos la fotografía del estudiante en la tabla con stu_photograph actuando como la columna donde se debe colocar la imagen.

Nota: En la función LOAD_FILE, ingresamos la ruta de la imagen que deseamos cargar en la base de datos MySQL. Esta función nos ayuda a almacenar una imagen en 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'));

El código anterior ingresaría los datos del estudiante en la tabla student_details. Podemos visualizar esta tabla con el siguiente comando:

select * from stu_information;

El bloque de código mencionado anteriormente generaría la siguiente salida:

almacenar imagen en mysql

Como podemos ver arriba, la columna stu_photograph ha sido creada con soporte de datos BLOB para almacenar imágenes.

Nota: Antes de agregar una imagen a la columna stu_photograph, asegúrese de agregar el privilegio de imagen en su usuario de MySQL.

Podemos otorgar el privilegio FILE entrando en la raíz y ejecutando el siguiente comando:

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