jueves, 17 de septiembre de 2020

Conectarse a una base de datos Postgresql utilizando Python

Hola a todos, hoy estoy de regreso, luego de unos meses de ausencia. Hace algún tiempo venía con dudas sobre empezar a aprender Python. Luego de muchos intentos fallidos, por fin me decidí y arranqué a estudiar el lenguaje. La verdad es que me ha dejado sorprendido, por la facilidad con que se escribe el código, la amplia librería de paquetes que crece todos los días, con las que se puede acceder fácilmente una base de datos, crear archivos de excel, trabajar modelos de machine learning, crear gráficos etc.

Hoy, he querido crear este post, para demostrar como con unas simples líneas de código, podemos acceder a una base de datos creada en Postgresql, en una instancia instalada en mi computador personal. Aquí la podemos ver usando PgAdmin4:


El nombre de la base de datos es aprendizaje, y la tabla que vamos a consultar es: customer:


Como pueden ver, utilizando la herramienta para crear queries de PgAdmin4 ya realizamos la consulta para confirmar que la tabla contenga información y para verificar los nombres de los campos que vamos a utilizar en la consulta en Python.

Para escribir el código en Python lo que hice fue instalar PyDev en Eclipse.

Entonces, como en cualquier lenguaje, vamos a necesitar un objeto conexión y un cursor o comando. Veamos la construcción del primero, para conectarnos a Postgresql debemos importar el paquete psycopg2 (en un próximo post mostraré como instalarlo en Eclipse).


Ya teniendo importado el paquete, procedemos a utilizarlo haciendo un llamado a connect(). Como se aprecia en la imagen anterior, los parámetros de connect son:
database: aquí debemos escribir el nombre de la base de datos a consultar.
user: el nombre del usuario con el que nos vamos a conectar a la base.
password: la contraseña con la que nos vamos a conectar
host: es la dirección o el nombre del servidor donde está instalada la base.
port: el puerto para realizar la conexión.

Teniendo lista la conexión, vamos a construir un cursor para consultar la base de datos:


El cursor, se crea a partir del objeto conexión, haciendo un llamado a cursor() y mediante el método execute(), vamos a pasar la sentencia en SQL para consultar la tabla de la base de datos. En este ejemplo, vamos a seleccionar 4 campos: SELECT customer_id, title, fname, lname FROM customer.

Ejecutada la instrucción SQL, vamos a pasar el resultado de la misma a una lista[ ]: 
rows = cur.fetchall()

Y por último, vamos a iterar sobre la lista, para recuperar cada una de las filas que devolvió la consulta:


Y listo, al ejecutar el código, vemos el resultado en la consola de Eclipse:


Y eso es todo, sencillo, práctico y rápido, así es Python.

A continuación el código fuente del scritp:

No hay comentarios.:

Publicar un comentario