Acceso a bases de datos con Python: Tutorial de ‘access’

Acceso a bases de datos con Python: Tutorial de ‘access’

Introducción

Python es un lenguaje de programación de propósito general que se utiliza para una amplia gama de tareas, incluyendo el acceso a bases de datos. En este tutorial, aprenderemos a acceder a bases de datos de Microsoft Access desde Python.

Requisitos previos

Para seguir este tutorial, necesitarás los siguientes requisitos previos:

  • Conocimientos básicos de Python
  • Una instalación de Microsoft Access
  • El módulo pyodbc instalado en Python

Instalación de pyodbc

El módulo pyodbc proporciona una interfaz Python para ODBC. Puedes instalarlo con pip:

pip install pyodbc

Creación de una base de datos de Access

Para crear una base de datos de Access, abre Access y selecciona Archivo > Nuevo. Luego, selecciona Base de datos en blanco y haz clic en Crear.

En la ventana Crear tabla, escribe los siguientes campos en las columnas Nombre y Tipo de datos.

Nombre Tipo de datos
Nombre Texto
Edad Número entero
Ciudad Texto

Haz clic en Aceptar para crear la tabla.

Conexión a la base de datos de Access

Para conectarte a la base de datos de Access desde Python, usa el siguiente código:

Python
import pyodbc

# Configura la cadena de conexión
conn_string = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};" + \
              "DBQ=C:\my_database.accdb;"

# Crea una conexión a la base de datos
conn = pyodbc.connect(conn_string)

# Obtén un cursor para la base de datos
cursor = conn.cursor()

Este código configura una cadena de conexión que apunta a la base de datos de Access que creamos anteriormente. Luego, crea una conexión a la base de datos y obtiene un cursor para la base de datos.

Consulta de la base de datos

Para consultar la base de datos, usa el método execute() del cursor. Por ejemplo, el siguiente código devuelve todos los registros de la tabla personas:

Python
# Ejecuta una consulta
cursor.execute("SELECT * FROM personas")

# Imprime los resultados
for row in cursor:
    print(row)

Este código devuelve la siguiente salida:

('John Doe', 30, 'San Francisco')
('Jane Doe', 25, 'New York')

Insertar datos en la base de datos

Para insertar datos en la base de datos, usa el método executemany() del cursor. Por ejemplo, el siguiente código inserta dos nuevos registros en la tabla personas:

Python
# Datos para los nuevos registros
datos = [
    ('Peter Parker', 22, 'Los Angeles'),
    ('Mary Jane Watson', 20, 'Chicago')
]

# Inserta los datos
cursor.executemany("INSERT INTO personas (nombre, edad, ciudad) VALUES (?, ?, ?)", datos)

# Confirma los cambios
conn.commit()

Actualizar datos en la base de datos

Para actualizar datos en la base de datos, usa el método execute() del cursor. Por ejemplo, el siguiente código actualiza la edad de John Doe a 31:

Python
# Actualiza el registro
cursor.execute("UPDATE personas SET edad = 31 WHERE nombre = 'John Doe'")

# Confirma los cambios
conn.commit()

Eliminar datos de la base de datos

Para eliminar datos de la base de datos, usa el método execute() del cursor. Por ejemplo, el siguiente código elimina el registro de Mary Jane Watson:

Python
# Elimina el registro
cursor.execute("DELETE FROM personas WHERE nombre = 'Mary Jane Watson'")

# Confirma los cambios
conn.commit()

Cierre de la conexión

Cuando hayas terminado de trabajar con la base de datos, cierra la conexión. Usa el método close() del cursor para cerrar la conexión.

Python
# Cierra la conexión
cursor.close()
conn.close()

Conclusión

En este tutorial, aprendimos a acceder a bases de datos de Microsoft