Conexión a Bases de Datos SQL Server con python mssql

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:

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)

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:

Python
# 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:

Python
# 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:

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.