Conexión a Bases de Datos SQL Server con Python MSSQL
En este tutorial, aprenderemos a conectarnos a una base de datos SQL Server desde Python utilizando el módulo pyodbc
. pyodbc
es un módulo de Python que proporciona una interfaz de programación de aplicaciones (API) para conectarse a bases de datos ODBC.
Requisitos previos
Para seguir este tutorial, necesitarás lo siguiente:
- Una instalación de Python 3.6 o superior
- Una instalación de SQL Server
- El módulo
pyodbc
instalado en Python
Instalación del módulo pyodbc
Para instalar el módulo pyodbc
en Python, abre una terminal y ejecuta el siguiente comando:
pip install pyodbc
Creando una conexión a SQL Server
Para conectarnos a una base de datos SQL Server, necesitamos crear una conexión. Podemos hacerlo utilizando la función connect()
del módulo pyodbc
.
La función connect()
acepta una cadena de conexión como argumento. La cadena de conexión es una cadena que especifica la información necesaria para conectarse a la base de datos.
La siguiente es una sintaxis básica para crear una cadena de conexión:
DRIVER={driver_name};SERVER={server_name};DATABASE={database_name};UID={username};PWD={password}
Por ejemplo, para conectarse a una base de datos SQL Server llamada mydatabase
en un servidor llamado myserver
con el usuario myuser
y la contraseña mypassword
, la cadena de conexión sería la siguiente:
DRIVER={SQL Server};SERVER=myserver;DATABASE=mydatabase;UID=myuser;PWD=mypassword
Una vez que tengamos una cadena de conexión, podemos usarla para crear una conexión.
El siguiente código muestra cómo crear una conexión a SQL Server:
import pyodbc
# Crea una cadena de conexión
connection_string = "DRIVER={SQL Server};SERVER=myserver;DATABASE=mydatabase;UID=myuser;PWD=mypassword"
# Crea una conexión
connection = pyodbc.connect(connection_string)
Ejecutando una consulta SQL
Una vez que tengamos una conexión, podemos usarla para ejecutar consultas SQL.
Podemos usar la función cursor()
del objeto de conexión para crear un cursor. El cursor nos permite ejecutar consultas SQL y obtener los resultados.
El siguiente código muestra cómo crear un cursor y ejecutar una consulta SQL:
# Crea un cursor
cursor = connection.cursor()
# Ejecuta una consulta SQL
cursor.execute("SELECT * FROM Customers")
# Obtiene los resultados de la consulta
results = cursor.fetchall()
El código anterior ejecutará la consulta SELECT * FROM Customers
y devolverá una lista de todas las filas de la tabla Customers
.
Cerrando la conexión
Cuando hayamos terminado de usar una conexión, debemos cerrarla para liberar los recursos asociados.
Podemos cerrar una conexión usando el método close()
del objeto de conexión.
El siguiente código muestra cómo cerrar una conexión:
# Cierra la conexión
connection.close()
Ejemplo completo
El siguiente código muestra un ejemplo completo de cómo conectarse a una base de datos SQL Server desde Python:
import pyodbc
# Crea una cadena de conexión
connection_string = "DRIVER={SQL Server};SERVER=myserver;DATABASE=mydatabase;UID=myuser;PWD=mypassword"
# Crea una conexión
connection = pyodbc.connect(connection_string)
# Crea un cursor
cursor = connection.cursor()
# Ejecuta una consulta SQL
cursor.execute("SELECT * FROM Customers")
# Obtiene los resultados de la consulta
results = cursor.fetchall()
# Imprime los resultados de la consulta
for row in results:
print(row)
# Cierra la conexión
connection.close()
Este código conectará a una base de datos SQL Server llamada mydatabase
en un servidor llamado myserver
con el usuario myuser
y la contraseña mypassword
. Luego, ejecutará la consulta SELECT * FROM Customers
y devolverá una lista de todas las filas de la tabla Customers
.
Conclusión
En este tutorial, aprendimos a conectarnos a una base de datos SQL Server desde Python utilizando el módulo pyodbc
. Podemos usar este módulo para ejecutar consultas SQL y obtener los resultados en Python.