top of page
Foto del escritorEsteban Madrigal

¿Cómo conectar SQL Server con Python?

SQL Server es uno de los sistemas de gestión de bases de datos relacionales más populares en el mercado. Python, por otro lado, es uno de los lenguajes de programación más utilizados en el mundo. Por lo tanto, conectar SQL Server con Python puede ser una tarea muy útil para los desarrolladores y analistas de datos que trabajan con grandes cantidades de datos almacenados en bases de datos relacionales.


En este blog, te mostraré cómo conectar SQL Server con Python para acceder y manipular datos de una base de datos relacional. Primero, describiremos cómo configurar la conexión entre Python y SQL Server. Te explicaré cómo ejecutar consultas SQL en Python utilizando la biblioteca Pandas. Finalmente, proporcionaremos una conclusión que resuma lo que hemos aprendido.


Vamos a verlo en acción con un ejemplo:


Paso 1: Instalar las bibliotecas necesarias


Antes de conectar SQL Server con Python, debes instalar las bibliotecas necesarias. Las bibliotecas que necesitamos son pyodbc, pandas y numpy.

  • Pyodbc es una biblioteca de Python que proporciona una API para conectarse a bases de datos ODBC.

  • Pandas es una biblioteca de Python que proporciona una API para manipular datos estructurados, incluidos los datos que se leen de una base de datos.

  • Numpy es una biblioteca de Python que proporciona una API que esta ocasión nos servirá para crear una matriz.

Para instalar estas bibliotecas, puedes utilizar el comando !pip en nuestra terminal o consola de Python:

Paso 2: Importar librerías


Importamos las librerías instaladas de la siguiente manera:

Paso 3: Configurar la conexión


Para conectarse a SQL Server, primero debes importar el módulo pyodbc y usar la función connect() para conectarte a la base de datos. Una vez que se establece la conexión, se crea un objeto cursor() utilizando el método cursor de la conexión. El objeto cursor() se utiliza para ejecutar consultas SQL y recuperar resultados de la base de datos.


A continuación, se muestra un ejemplo de cómo establecer la conexión:

Nota: Asegúrate de reemplazar “nombre_servidor”, “nombre_base_de_datos”, “nombre_usuario” y “password” con los valores correspondientes para su propia configuración.


Paso 4: Ejecutar consultas


Una vez que se ha establecido la conexión podemos ejecutar consultas SQL. El siguiente paso es crear una lista de las columnas en los resultados de la consulta utilizando la propiedad description del cursor.


  • La variable columna se crea utilizando una comprensión de lista que extrae el primer elemento de cada tupla en la lista description.

  • La variable fila se crea utilizando el método fetchall() del cursor, que devuelve una lista de tuplas que representan las filas de los resultados de la consulta.

  • La variable datos se crea a partir de la lista de filas y se convierte en una matriz numpy utilizando la función array() de numpy.


Finalmente, se crea un DataFrame de pandas utilizando la matriz de datos y la lista de columnas. El DataFrame resultante se almacena en la variable df_sql:

Nota: Asegúrate de reemplazar “cursor.execute”, con la consulta que usted desea realizar.



Paso 5: Cerrar la conexión


Una vez que hayas terminado de trabajar con la base de datos, asegúrate de cerrar la conexión usando la función close():

Paso 6: Mostrar resultados


Por último, imprimimos la variable df_sql para visualizar los resultados obtenidos:

Resultado:


En conclusión, la conexión de SQL Server con Python es una tarea importante en el análisis de datos. Afortunadamente, Python proporciona una variedad de paquetes y librerías para trabajar con bases de datos de SQL Server, como pyodbc, sqlalchemy y pymssql.


En general, conectar SQL Server con Python es una habilidad útil y valiosa para cualquier profesional de análisis de datos o ciencia de datos que trabaje con bases de datos relacionales y quiera automatizar el análisis de datos y la obtención de información.


Entradas Recientes

Ver todo

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page