Con Python y MariaDB puedes conectar apli­ca­cio­nes a una base de datos de forma eficiente y procesar in­fo­r­ma­ción. La co­m­bi­na­ción de Python y MariaDB es es­pe­cia­l­me­n­te útil para las apli­ca­cio­nes web, el análisis de datos y la au­to­ma­ti­za­ción de informes.

¿Cuáles son los re­qui­si­tos?

Antes de poder conectar programas Python con MariaDB, debes cumplir los si­guie­n­tes re­qui­si­tos:

  • In­s­ta­la­ción de Python: asegúrate de tener Python instalado en tu sistema y que sea una versión co­m­pa­ti­ble.
  • Base de datos MariaDB: necesitas una base de datos MariaDB funcional. Puedes utilizar una in­s­ta­la­ción local de MariaDB o co­ne­c­tar­te a una base de datos remota.
  • Cre­de­n­cia­les de acceso a la base de datos: necesitas in­fo­r­ma­ción como el nombre del host, el puerto, el nombre de la base de datos, el nombre de usuario y la co­n­tra­se­ña para co­ne­c­tar­te a la base de datos MariaDB.
  • Módulo Python: debes tener instalado el módulo Python/Connector para co­ne­c­tar­te a MariaDB.

Pre­pa­ra­ción e in­s­ta­la­ción

Tienes dos formas de acceder a un servidor MariaDB. Puedes instalar un servidor MariaDB en tu propio equipo o servidor, o utilizar la pla­ta­fo­r­ma MariaDB en la cloud.

Opción 1. Instalar el servidor MariaDB en tu hardware

Es bastante sencillo descargar el paquete de MariaDB e in­s­ta­lar­lo en tu equipo. Aquí tienes una guía detallada:

Paso 1. Comprueba los re­qui­si­tos del sistema

Asegúrate de que tu hardware cumple con los re­qui­si­tos mínimos, como tener su­fi­cie­n­te espacio en disco y memoria RAM.

Paso 2. Descarga MariaDB

Visita la página web oficial de MariaDB y descarga la versión co­rre­s­po­n­die­n­te a tu sistema operativo (Windows, Linux o macOS).

Paso 3. Instala el paquete

Descarga el paquete correcto para tu sistema operativo y ar­qui­te­c­tu­ra (32 bits o 64 bits). Una vez fi­na­li­za­da la descarga, ejecuta la in­s­ta­la­ción de acuerdo a tu sistema operativo. Por ejemplo, si vas a instalar MariaDB en Ubuntu 20.04, tendrás que ejecutar el comando sudo apt install mariadb-server.

Paso 4. Configura la base de datos

Después de la in­s­ta­la­ción, configura el servidor MariaDB es­pe­ci­fi­ca­n­do los datos de acceso, la co­n­fi­gu­ra­ción de seguridad y otros pa­rá­me­tros de la base de datos.

Paso 5. Inicia MariaDB

Inicia el servicio del servidor MariaDB. En Windows se hace a través del Ad­mi­ni­s­tra­dor de servicios. En Linux y macOS, funciona a través de la línea de comandos con sudo systemctl start mariadb o sudo service mariadb start.

Paso 6. Realiza la co­n­fi­gu­ra­ción inicial

Configura MariaDB después de iniciarlo, eje­cu­ta­n­do el comando mysql_secure_installation. El comando te ayuda a realizar co­n­fi­gu­ra­cio­nes de seguridad im­po­r­ta­n­tes, como es­ta­ble­cer co­n­tra­se­ñas y eliminar cuentas de prueba.

Paso 7. Prueba el acceso a la base de datos

Comprueba que puedes co­ne­c­tar­te co­rre­c­ta­me­n­te a la base de datos. Inicia sesión como usuario root con mysql -u root -p. Introduce tu co­n­tra­se­ña y ejecuta algunas consultas SQL sencillas para verificar que el servidor funciona co­rre­c­ta­me­n­te.

Opción 2. Utilizar MariaDB SkySQL

MariaDB SkySQL es una pla­ta­fo­r­ma de base de datos en la cloud que te permite operar bases de datos MariaDB de manera sencilla y eficiente en la cloud. La pla­ta­fo­r­ma incluye MariaDB En­te­r­pri­se Server y ofrece diversas ventajas, como la es­ca­la­bi­li­dad au­to­má­ti­ca, una alta di­s­po­ni­bi­li­dad y funciones de seguridad in­te­gra­das.

Paso 1. Re­gí­s­tra­te e inicia sesión

Visita la página web oficial de MariaDB SkySQL y re­gí­s­tra­te para conseguir una cuenta si aún no tienes una. Inicia sesión con tus cre­de­n­cia­les.

Paso 2. Crea un nuevo servicio

Después de iniciar sesión, serás re­di­ri­gi­do a la página de inicio de SkySQL. Haz clic en “Crear nuevo servicio” o en un botón similar para iniciar un nuevo servicio de base de datos. Se­le­c­cio­na el tipo de servicio que quieras, puedes elegir entre di­fe­re­n­tes pla­ta­fo­r­mas MariaDB, como MariaDB En­te­r­pri­se Server y otros servicios de base de datos.

Paso 3. Configura el servicio

Pe­r­so­na­li­za la co­n­fi­gu­ra­ción del servicio, in­clu­ye­n­do la selección de la versión de MariaDB, la capacidad de la base de datos y otros pa­rá­me­tros de recursos. También puedes utilizar las opciones de alta di­s­po­ni­bi­li­dad y es­ca­la­bi­li­dad au­to­má­ti­ca. Es­pe­ci­fi­ca la co­n­fi­gu­ra­ción de au­te­n­ti­ca­ción y seguridad, in­clu­ye­n­do los nombres de usuario y las co­n­tra­se­ñas, así como la gestión de los permisos de acceso a la base de datos.

Paso 4. Conéctate a la base de datos

Tras la puesta en marcha del servicio, recibirás in­fo­r­ma­ción sobre el nombre del host, el puerto, el nombre de usuario y la co­n­tra­se­ña. Utiliza esta in­fo­r­ma­ción para co­ne­c­tar­te a tu base de datos. Ejecuta algunas consultas sencillas para verificar que el servicio funciona.

Paso 5. Mo­ni­to­ri­za y gestiona la base de datos

MariaDB SkySQL ofrece he­rra­mie­n­tas de mo­ni­to­ri­za­ción y análisis que te permiten su­pe­r­vi­sar el re­n­di­mie­n­to de tu base de datos. Utiliza estas he­rra­mie­n­tas para ase­gu­rar­te de que tu base de datos funciona de forma óptima. Puedes gestionar y escalar tu base de datos en función de tus ne­ce­si­da­des, ajustando los pa­rá­me­tros de recursos o activando funciones adi­cio­na­les.

Conectar con el servidor MariaDB

Utiliza la librería MariaDB de Python para co­ne­c­tar­te a una base de datos MariaDB y realizar diversas ope­ra­cio­nes con ella, como consultar, insertar o ac­tua­li­zar datos. Instala la librería con el gestor de paquetes pip:

pip3 install mariadb
shell

Ahora puedes co­ne­c­tar­te a MariaDB desde Python.

Paso 1. Establece la conexión

Primero necesitas importar la librería y es­ta­ble­cer una conexión con tu base de datos MariaDB. Para ello, necesitas in­fo­r­ma­ción como el nombre del host, el puerto, el nombre de la base de datos, el nombre de usuario y la co­n­tra­se­ña.

import mariadb
# Detalles de la conexión a la base de datos
db_config = {
    'user': 'your_username',
    'password': 'your_password',
    'host': 'your_hostname',
    'database': 'your_database',
    'port': 3306  # Puerto predeterminado para MariaDB
}
# Establecer la conexión
conn = mariadb.connect(**db_config)
# Crear un cursor para ejecutar consultas
cursor = conn.cursor()
python

El cursor es un objeto que puedes utilizar para realizar ope­ra­cio­nes en la base de datos re­la­cio­nal como MariaDB. Las ope­ra­cio­nes incluyen consultas SQL y edición de datos. Después de es­ta­ble­cer una conexión con la base de datos, recibes un cursor en Python. Se consulta a través de la función cursor().

Paso 2. Consulta datos

A co­n­ti­nua­ción, utiliza el cursor para ejecutar consultas SQL y recuperar datos de la base de datos.

# Definir la consulta SQL
sql_query = "SELECT * FROM your_table"
# Ejecutar la consulta
cursor.execute(sql_query)
# Obtener resultados
results = cursor.fetchall()
# Mostrar datos
for row in results:
    print(row)
python

Paso 3. Introduce datos

Para in­tro­du­cir datos en una tabla, define una consulta SQL INSERT y ejecútala con el cursor.

# Definir la consulta SQL INSERT
insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
# Valores a insertar
values = ('value1', 'value2')
# Ejecutar la consulta INSERT
cursor.execute(insert_query, values)
# Confirmar la transacción
conn.commit()
python

La sentencia SQL INSERT es­pe­ci­fi­ca en qué tabla (your_table) y en qué columnas (column1 y column2) quieres insertar los datos. Los ma­r­ca­do­res de posición como %s re­pre­se­n­tan los valores que se van a insertar. La tupla values contiene los valores co­rre­s­po­n­die­n­tes que quieres in­tro­du­cir en la base de datos. El cursor ejecuta la sentencia INSERT con los valores es­pe­ci­fi­ca­dos. A co­n­ti­nua­ción, la función conn.commit() confirma la tra­n­sac­ción para ga­ra­n­ti­zar que los cambios se guardan de forma pe­r­ma­ne­n­te en la base de datos.

Paso 4. Cierra la conexión

Una vez co­m­ple­ta­das tus ope­ra­cio­nes con la base de datos, debes cerrar el cursor y la conexión para liberar recursos.

# Cierra el cursor y la conexión
cursor.close()
conn.close()
python

Paso 5. Gestiona los errores

Es im­po­r­ta­n­te incluir la gestión de errores para poder detectar posibles ex­ce­p­cio­nes al es­ta­ble­cer la conexión o ejecutar las consultas.

try:
        # Establecer la conexión
        conn = mariadb.connect(**db_config)
        # Crear un cursor
        cursor = conn.cursor()
        # Ejecutar la consulta
        cursor.execute(sql_query)
        # Obtener resultados
        results = cursor.fetchall()
        for row in results:
            print(row)
    except mariadb.Error as err:
        print(f"Error: {err}")
    finally:
        # Cerrar cursor y conexión
        if cursor:
            cursor.close()
        if conn:
            conn.close()
python

Puedes adaptar esta es­tru­c­tu­ra básica a tus ne­ce­si­da­des es­pe­cí­fi­cas para im­ple­me­n­tar diversas ope­ra­cio­nes de base de datos.

Aquí tienes el código completo:

import mariadb
# Detalles de la conexión a la base de datos
db_config = {
    'user': 'your_username',
    'password': 'your_password',
    'host': 'your_hostname',
    'database': 'your_database',
    'port': 3306  # Puerto predeterminado para MariaDB
}
try:
    # Establecer la conexión
    conn = mariadb.connect(**db_config)
    # Crear un cursor para ejecutar consultas
    cursor = conn.cursor()
    # Definir la consulta SQL
    sql_query = "SELECT * FROM your_table"
    # Ejecutar la consulta
    cursor.execute(sql_query)
    # Obtener los resultados
    results = cursor.fetchall()
    # Mostrar los datos
    for row in results:
        print(row)
    # Definir la consulta SQL INSERT
    insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
    # Valores a insertar
    values = ('value1', 'value2')
    # Ejecutar la consulta INSERT
    cursor.execute(insert_query, values)
    # Confirmar la transacción
    conn.commit()
except mariadb.Error as err:
    print(f"Error: {err}")
finally:
    # Cerrar el cursor y la conexión
    if cursor:
        cursor.close()
    if conn:
        conn.close()
python
Ir al menú principal