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
.
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
.
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
.
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
.
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
.
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 columnasname
,email
yage
. - 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/