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')")
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'])
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)
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()
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)