DEV Community

Cover image for Conexión a SQL Server con Python
Leandro Ruiz
Leandro Ruiz

Posted on

Conexión a SQL Server con Python

En esta ocasión quiero hablar sobre como accedes a un SQL Server usando Python. Estuve investigando un poco y la solución que encontré mas practica es _mssql.

_mssql es una librería de código abierto que de una forma simple y eficiente nos permite ingresar y modificar a bases de datos SQL utilizando Python.


Conectarse a una base de datos SQL

El primer paso es muy sencillo, para crear la conexión primero importamos la librería _mssql y llamamos al método .connect():

import _mssql

server = 'SERVER_NAME'
user = 'USER_NAME'
password = '<PASSWORD>'
database = 'MY_DATABASE'
conn = _mssql.connect(server, user, password, database)

# aqui creamos una tabla de ejemplo

conn.execute_non_query('CREATE TABLE pets(id INT, name VARCHAR(100))')
conn.execute_non_query("INSERT INTO pets VALUES(1, 'Firulais')")
conn.execute_non_query("INSERT INTO pets VALUES(2, 'Pelusa')")
Enter fullscreen mode Exit fullscreen mode

De esta forma ya deberíamos estar conectados a la base de datos SQL, pero ahora viene lo importante: poder utilizar estos datos a través de queries.


Realizar Queries

Y para poder realizar queries y manipular la base de datos, debemos llamar al método .execute_query(). Aquí dejo un ejemplo:

conn.execute_query('SELECT * FROM pets WHERE name=%s', 'Firulais')

# como extraer filas de una tabla
for row in conn:
    print "ID=%d, Name=%s" % (row['id'], row['name'])
Enter fullscreen mode Exit fullscreen mode

Dejo el link a la documentación de esta librería.


Van un par de ejemplos más de como realizar queries:

# contar filas de una tabla
num_pets = conn.execute_scalar("SELECT COUNT(*) FROM pets")

# seleccionar segunda fila de determinada tabla
pet_2 = conn.execute_row("SELECT * FROM pets WHERE id=%d", 2)
Enter fullscreen mode Exit fullscreen mode

Cierre de la conexión

Una vez terminadas todas las tareas que se debían realizar con la base de datos, procedemos a cerrar la conexión con el SQL Server:

conn.close()
Enter fullscreen mode Exit fullscreen mode

Este paso es importante para no desperdiciar recursos en tareas que ya han sido finalizadas o que ya no son necesarias 👍


Conclusión

_mssql es una buena alternativa a pyodbc y mymssql ya que su sintaxis es mas simple para establecer la conexión con la base de datos y también al momento de realizar queries.

Espero que mi aporte te haya sido de utilidad, y ¡hasta la próxima!

Top comments (0)