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!

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post