PostgreSQL Python: Manejo de datos BLOB

Resumen: en este tutorial, aprenderá a manejar datos BLOB de PostgreSQL en Python.

SQL estándar define BLOB como el objeto binario grande para almacenar datos binarios en la base de datos. Con el tipo de datos BLOB, puede almacenar el contenido de una imagen, un documento, etc. a la mesa.

PostgreSQL no admite BLOB, pero puede usar el tipo de datos BYTEA para almacenar los datos binarios.

Echemos un vistazo a la tabla part_drawings.

La tabla part_drawings almacena las imágenes de las piezas en la columna drawing_data. Le mostraremos cómo insertar datos binarios en esta columna y leerlos de nuevo.

Insertar BLOB en una tabla

Para insertar datos BLOB en una tabla, siga los siguientes pasos:

  1. Primero, lea los datos de un archivo.
  2. A continuación, conéctese a la base de datos PostgreSQL creando un nuevo objeto de conexión desde la función connect().
  3. A continuación, cree un objeto cursor a partir del objeto connection.
  4. Después de eso, ejecute la instrucción INSERT con los valores de entrada. Para los datos BLOB, utilice el objeto Binary del módulo psycopg
  5. Finalmente, confirme los cambios de forma permanente en la base de datos PostgreSQL llamando al método commit() del objeto connection.

La siguiente función write_blob() lee datos binarios de un archivo especificado por el parámetro path_to_file y los inserta en la tabla part_drawings.

El siguiente fragmento llama a la función write_blob ()dos veces para insertar dos partes nuevas con los datos binarios correspondientes de los archivos de imagen en la tabla part_drawings.

Code language: Python (python)

BLOB de lectura en la tabla

Los pasos de lectura de BLOB de una tabla son similares a los pasos de consulta de datos de una tabla. Después de obtener datos binarios de la tabla, podemos guardarlos en un archivo, enviarlos al navegador web, etc.

La siguiente función read_blob() selecciona los datos de BLOB de la tabla part_drawings en función de un id de pieza especificado y guarda los datos de BLOB en un archivo.

El siguiente fragmento lee los datos binarios de las partes con el valor de id 1 y 2, y guarda los datos binarios en la carpeta images/blob.

En este tutorial, ha aprendido a manejar datos de BLOBS de PostgreSQL en Python utilizando el adaptador de base de datos psycopg.

  • ¿Fue útil este tutorial ?
  • YesNo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.