Conectar Python con MySQL/MariaDB

Conectar Python con MySQL/MariaDB

Requisitos previos

Python y MySQL/MariaDB en tu sistema. Si necesitas ayuda para instalar Python, puedes consultar nuestro artículo sobre cómo instalar Python en tu sistema.

Instalación de la biblioteca mysql-connector-python

La forma más sencilla de conectar Python con MySQL/MariaDB es utilizando la biblioteca mysql-connector-python. Puedes instalarla usando pip. Asegúrate de tener pip instalado (consulta nuestro artículo sobre pip y gestión de paquetes si tienes dudas) y ejecuta el siguiente comando en tu terminal:

pip install mysql-connector-python

Estableciendo la conexión

Una vez que hayas instalado la biblioteca, puedes proceder a establecer la conexión con tu base de datos. Aquí tienes un ejemplo básico:


import mysql.connector
from mysql.connector import Error

def crear_conexion(host_name, user_name, user_password, db_name):
    conexion = None
    try:
        conexion = mysql.connector.connect(
            host=host_name,
            user=user_name,
            password=user_password,
            database=db_name
        )
        print("Conexión exitosa a la base de datos")
    except Error as e:
        print(f"Ocurrió un error: {e}")
    return conexion

conexion = crear_conexion("localhost", "tu_usuario", "tu_contraseña", "tu_base_de_datos")

Este código define una función que crea una conexión a una base de datos especificando el nombre de host, el nombre de usuario, la contraseña y el nombre de la base de datos que deseas utilizar.

Ejecutar consultas SQL

Ahora que tienes una conexión establecida, puedes ejecutar consultas SQL. Aquí tienes un ejemplo de cómo crear una tabla y insertar algunos datos en ella:


def ejecutar_consulta(conexion, consulta):
    cursor = conexion.cursor()
    try:
        cursor.execute(consulta)
        conexion.commit()
        print("Consulta ejecutada con éxito")
    except Error as e:
        print(f"Ocurrió un error: {e}")

# Crear tabla
crear_tabla = """
CREATE TABLE IF NOT EXISTS usuarios (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(100) NOT NULL,
    correo VARCHAR(100) NOT NULL
);
"""
ejecutar_consulta(conexion, crear_tabla)

# Insertar datos
insertar_usuario = "INSERT INTO usuarios (nombre, correo) VALUES ('Juan Pérez', 'juanperez@example.com');"
ejecutar_consulta(conexion, insertar_usuario)

En este ejemplo, primero definimos la consulta para crear una tabla llamada usuarios y luego insertamos un nuevo registro. La función ejecutar_consulta se encarga de ejecutar cualquier consulta que le pases.

Recuperar datos

Para recuperar datos de la base de datos, puedes usar el siguiente ejemplo:


def obtener_usuarios(conexion):
    cursor = conexion.cursor()
    cursor.execute("SELECT * FROM usuarios")
    resultados = cursor.fetchall()
    
    for usuario in resultados:
        print(usuario)

obtener_usuarios(conexion)

Este código ejecuta una consulta para seleccionar todos los usuarios de la tabla y luego imprime cada uno de ellos.

Cerrar la conexión

Una vez que hayas terminado de trabajar con la base de datos, es importante cerrar la conexión:


if conexion:
    conexion.close()
    print("Conexión cerrada.")

Esto ayuda a liberar recursos y evita posibles problemas de conexión en el futuro.

Conclusión

Conectar Python con MySQL/MariaDB es un proceso sencillo que puede abrir la puerta a un mundo de posibilidades en el manejo de datos. A través de ejemplos prácticos, hemos cubierto cómo instalar la biblioteca necesaria, establecer conexiones, ejecutar consultas y recuperar información. Para obtener más información sobre Python y sus diversos usos, te invitamos a explorar otros artículos en nuestro blog, como qué es Python y para qué se utiliza y crear tu primer script útil.

Fuentes y lecturas recomendadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies