Trabajando con Bases de Datos SQL en Python

Trabajando con Bases de Datos SQL en Python

Introducción

En este tutorial aprenderemos a trabajar con bases de datos SQL en Python. SQL es un lenguaje de consulta de bases de datos que se utiliza para interactuar con bases de datos relacionales. En Python, podemos trabajar con bases de datos SQL utilizando la biblioteca pyodbc.

Instalación de la biblioteca pyodbc

La primera etapa es instalar la biblioteca pyodbc. Podemos hacerlo utilizando el administrador de paquetes de Python.

pip install pyodbc

Creación de una conexión con la base de datos

Una vez que tenemos instalada la biblioteca, podemos crear una conexión con la base de datos. Para ello, utilizaremos la función connect() de la biblioteca pyodbc.

Python
import pyodbc

connection = pyodbc.connect(
    "DRIVER={SQL Server};SERVER=localhost;DATABASE=my_database;UID=my_username;PWD=my_password"
)

Este código creará una conexión con una base de datos SQL Server local. Los parámetros de la conexión son los siguientes:

  • DRIVER: El nombre del controlador de la base de datos.
  • SERVER: La dirección del servidor de la base de datos.
  • DATABASE: El nombre de la base de datos.
  • UID: El nombre de usuario de la base de datos.
  • PWD: La contraseña de la base de datos.

Ejecutando consultas SQL

Una vez que tenemos una conexión con la base de datos, podemos empezar a ejecutar consultas SQL. Para ello, utilizaremos la función execute() de la biblioteca pyodbc.

Python
cursor = connection.cursor()

cursor.execute("SELECT * FROM my_table")

for row in cursor:
    print(row)

Este código ejecutará una consulta SQL que devolverá todos los registros de la tabla my_table. La función fetchall() devolverá una lista con todos los registros.

Insertando datos

Para insertar datos en una tabla, utilizaremos la función execute() con la sentencia INSERT.

Python
cursor = connection.cursor()

cursor.execute(
    "INSERT INTO my_table (column1, column2) VALUES ('value1', 'value2')"
)

connection.commit()

Este código insertará un nuevo registro en la tabla my_table con los valores value1 y value2 en las columnas column1 y column2.

Actualizando datos

Para actualizar datos en una tabla, utilizaremos la función execute() con la sentencia UPDATE.

Python
cursor = connection.cursor()

cursor.execute(
    "UPDATE my_table SET column1 = 'new_value1' WHERE column2 = 'value2'"
)

connection.commit()

Este código actualizará el valor de la columna column1 a new_value1 para todos los registros que coincidan con la condición column2 = 'value2'.

Eliminando datos

Para eliminar datos de una tabla, utilizaremos la función execute() con la sentencia DELETE.

Python
cursor = connection.cursor()

cursor.execute("DELETE FROM my_table WHERE column2 = 'value2'")

connection.commit()

Este código eliminará todos los registros de la tabla my_table que coincidan con la condición column2 = 'value2'.

Conclusión

En este tutorial hemos aprendido a trabajar con bases de datos SQL en Python. Hemos visto cómo crear una conexión con la base de datos, ejecutar consultas SQL, insertar datos, actualizar datos y eliminar datos.

Ejercicios

  • Crea una base de datos SQL con una tabla llamada users que tenga las columnas name, email y age.
  • Inserta 5 registros en la tabla users.
  • Actualiza el nombre de un usuario de la tabla users.
  • Elimina un usuario de la tabla users.

Referencias

  • Documentación de la biblioteca pyodbc: https://docs.microsoft.com/en-us/sql/connect/python/pyodbc/