Cómo usar Psycopg2 para conectar Python a PostgreSQL
PostgreSQL es un sistema de base de datos relacional de objetos que puede vincular a varios lenguajes de programación. Al crear una aplicación Python, puede conectarla a la base de datos PostgreSQL. Además, la conexión de Python a PostgreSQL se simplifica gracias a la psicopg2 Adaptador de base de datos PostgreSQL. Una vez que haya instalado el adaptador en su entorno de desarrollo de Python, puede realizar todas las tareas de la base de datos de PostgreSQL directamente desde la aplicación de Python. Esta guía cubre diferentes formas de usar el adaptador de base de datos psycopg2 cuando se trabaja con un script de Python.
Contenidos
Cómo usar Psycopg2 para conectar Python a PostgreSQL
Psycopg2 es un módulo de Python que puede instalar si trabaja con Python. Para este tutorial trabajaremos en un entorno virtual de Python. Para instalar psycopg2 usa el pepita Dominio. $ pip install psycopg2-binary Vamos a crear una base de datos PostgreSQL con la que trabajaremos desde el script de Python. Abra su consola PostgreSQL y cree una base de datos para conectarse desde Python.
Tenemos diferentes casos de uso para usar el módulo psycopg2 para conectar Python a PostgreSQL.
-
Conexión a las bases de datos PostgreSQL
Lo primero que debe hacer al usar el módulo psycopg2 es conectarse a la base de datos PostgreSQL desde Python. Comience importando el módulo psycopg2 en su secuencia de comandos de Python. A continuación, utilice el conectar() para crear una instancia de la base de datos a la que desea conectarse. Tenga en cuenta que debe proporcionar el nombre de la base de datos, el usuario y la contraseña. En algunos casos, puede especificar el host y el puerto. Aquí hay un ejemplo:
Pruebe la conexión de base de datos simple creada al ejecutar el script de Python para ver si devuelve el mensaje especificado después de que se devuelve el objeto de conexión. $ pitones
Para ejecutar las consultas de PostgreSQL desde su secuencia de comandos de Python, necesita un objeto cursor para ser utilizado en todo el código de Python. El siguiente ejemplo utiliza el Cursor() para ejecutar una consulta para crear una tabla en la base de datos. Además, encerramos el código en un try-except-finally para una fácil depuración. Tenga en cuenta que debe cerrar el conexión objeto y el cursor Función al final del script.
Supongamos que probamos nuestro script de Python. Confirmamos que logramos crear la tabla y obtenemos un error cuando intentamos ejecutar el script nuevamente porque ya creamos la tabla.
El objeto Cursor se puede utilizar de varias formas. Por ejemplo, el siguiente ejemplo inserta los valores en la tabla creada anteriormente. Sin embargo, usamos el objeto Cursor para consultar la base de datos y seleccionar todos los elementos que insertamos usando buscar ().
El resultado después de ejecutar el script confirma que logramos consultar la tabla en nuestra base de datos PostgreSQL.
Otra función excelente que se puede usar con el objeto Cursor es executemany(). La función es útil cuando se ejecuta una consulta que afecta a varias tuplas de parámetros en el orden proporcionado. Por ejemplo, lo usamos para reconstruir una tabla específica insertando múltiples valores de una secuencia específica.
Supongamos que usamos fetchall() para consultar los valores en la tabla recién creada. La salida incluye todos los valores disponibles en la tabla recién creada.
La función se usa cuando desea devolver la siguiente fila en un conjunto de resultados de consulta específico. Si no hay una línea siguiente, regresa ninguno o muestra el mensaje especificado para confirmar que ha llegado a la última línea. En el siguiente ejemplo vamos a crear uno mientras bucle para imprimir todos los valores de una tabla dada. Cuando llegamos a la última fila, rompemos el bucle e imprimimos un mensaje que confirma que no hay una fila siguiente.
La salida imprime todos los valores de la tabla y un mensaje personalizado cuando se devuelve la siguiente fila ninguno.
A diferencia de fetchone, que devuelve la siguiente fila del conjunto de consultas, fetchall devuelve todas las filas restantes como una lista de tuplas. Supongamos que la consulta especificada no contiene registros. Devuelve un conjunto vacío.
Aquí está la salida de los registros recuperados devueltos como una lista de tuplas.
-
Consulta parametrizada
Con psycopg2 también puede usar las consultas parametrizadas donde crea un marcador de posición para los valores en lugar de escribirlos directamente en la consulta. Así aumentas la seguridad de tu aplicación. El siguiente ejemplo muestra cómo se utilizan las consultas parametrizadas para almacenar los valores para una consulta de actualización de PostgreSQL.
Los ejemplos anteriores son las formas habituales en que puede usar psycopg2. Consulte la documentación para obtener más funciones. Pero ahora comprende qué es el módulo psycopg2 y cómo usarlo en su proyecto de Python.
Conclusión
El psycopg2 es un módulo de Python que facilita la conexión entre Python y PostgreSQL. Hemos visto cómo instalar el módulo, crear una conexión de base de datos PostgreSQL y usar los diversos objetos y funciones para trabajar con una base de datos PostgreSQL directamente desde Python. Utilice esta base para potenciar su próximo Python con el proyecto de base de datos PostgreSQL.