En la programación de Python, podemos conectarnos con varias bases de datos como MySQL, Oracle, SQLite, etc., utilizando el soporte incorporado. Tenemos módulos separados para cada base de datos. Podemos usar SQL Language como mediador entre el programa Python y la base de datos. Escribiremos todas las consultas en nuestro programa python y enviaremos esos comandos a la base de datos. Entonces, con estos programas, podemos realizar varias operaciones, como Inserción, Eliminación, Actualización y Recuperación.
Aquí, en este artículo, discutiremos cómo trabajar con MySQL BLOB en python. Con la ayuda del tipo de datos BLOB (Large Binary Object) en MySQL, podemos almacenar archivos o imágenes en nuestra base de datos en formato binario.
Instalación del Conector MySQL:
Este conector conectará nuestro programa python a la base de datos. Solo ejecuta este comando,
Dominio:
pip install mysql-connector-python
Pasos importantes para la programación de la base de datos de Python:
- Importar módulo de base de datos MySQL
import mysql.connector
- Para crear una conexión entre el programa Python y la base de datos. Usando el método connect(), conectaremos el programa python con nuestra base de datos.
conexión = mysql.connector.connect(host=’localhost’, base de datos='<nombre_base_datos>’, usuario='<nombre_usuario>’, contraseña='<contraseña>’)
- Ahora, cree un objeto de cursor utilizando el método cursor() para ejecutar las consultas SQL y mantener el resultado en un objeto.
cursor = connection.cursor()
- Para ejecutar consultas SQL, utilizaremos un objeto de cursor. Por ejemplo,
cursor.execute("select * from table_name")
- Finalmente, una vez que hayamos terminado con nuestras operaciones, tenemos que cerrar los recursos.
cursor.close() con.close()
Hemos terminado con los pasos básicos de conexión. Ahora, analicemos la agenda principal de este artículo, que es la implementación práctica del tipo de datos BLOB en MySQL Python,
- Primero, necesitamos crear una base de datos en MySQL usando el siguiente comando.
create database geeksforgeeks;
Por ejemplo:
- Creando una función a través de la cual podemos convertir imágenes o archivos en formato binario.
Python3
def convertData(filename): # Convert images or files data to binary format with open(filename, 'rb') as file: binary_data = file.read() return binary_data
- Compruebe si la conexión de la base de datos se crea o no utilizando el programa Python. Echemos un vistazo en el siguiente código:
Python3
import mysql.connector connection = mysql.connector.connect( host='localhost', database='geeksforgeeks', user='root', password='shubhanshu') cursor = connection.cursor() if connection is not None: print('Connected Successfully') else: print('Connection Failed')
Hemos terminado con todo lo básico que se requiere. Veamos el código completo para insertar las imágenes o archivos en la base de datos MySQL usando Programas Python:
Python3
import mysql.connector # Convert images or files data to binary format def convert_data(file_name): with open(file_name, 'rb') as file: binary_data = file.read() return binary_data try: connection = mysql.connector.connect(host='localhost', database='geeksforgeeks', user='root', password='shubhanshu') cursor = connection.cursor() # create table query create_table = """CREATE TABLE demo(id INT PRIMARY KEY,\ name VARCHAR (255) NOT NULL, profile_pic BLOB NOT NULL, \ imp_files BLOB NOT NULL) """ # Execute the create_table query first cursor.execute(create_table) # printing successful message print("Table created Successfully") query = """ INSERT INTO demo(id, name, profile_pic, imp_files)\ VALUES (%s,%s,%s,%s)""" # First Data Insertion student_id = "1" student_name = "Shubham" first_profile_picture = convert_data("D:\GFG\images\shubham.png") first_text_file = convert_data('D:\GFG\details1.txt') # Inserting the data in database in tuple format result = cursor.execute( query, (student_id, student_name, first_profile_picture, first_text_file)) # Committing the data connection.commit() print("Successfully Inserted Values") # Print error if occurred except mysql.connector.Error as error: print(format(error)) finally: # Closing all resources if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed")
Producción:
La tabla formada en MySQL:
Explicación:
- Establecimiento de la conexión con la base de datos MySQL.
- Escriba la consulta de creación de tabla y use el objeto de cursor, ejecutándolo.
- Ahora, inserte datos en una tabla usando una consulta SQL y almacene en la variable de consulta .
- Almacenando los datos en variables como student_id = «1», Student_name = «Shubham» y para imágenes o archivos, primero estamos convirtiendo esos archivos en datos binarios y luego los almacenamos en variables.
- Usando el objeto del cursor, Ejecutando la consulta. Inserción de los datos en la base de datos en formato de tupla.
- Usando el método commit(), estamos guardando los datos.
- Después de completar todas las operaciones, debemos cerrar todos los recursos, como la conexión y el objeto del cursor.
Haga clic aquí para descargar el archivo PNG y el archivo TXT .
Vídeo de demostración:
Publicación traducida automáticamente
Artículo escrito por shubhanshuarya007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA