Cómo usar PSYCOPG2 para conectar Python a PostgreSQL

Cómo usar PSYCOPG2 para conectar Python a PostgreSQL

PostgreSQL es un sistema de base de datos relacionado con objetos que puede vincular con diferentes 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 psycopg2 Adaptador de base de datos PostgreSQL.

Una vez que instale el adaptador en su entorno de desarrollo de Python, puede ejecutar todas las tareas de la base de datos PostgreSQL directamente desde la aplicación Python. Esta guía cubre diferentes formas de usar el adaptador de base de datos PSYCOPG2 cuando se trabaja con un script de Python.

Cómo usar PSYCOPG2 para conectar Python a PostgreSQL

PSYCOPG2 es un módulo Python que puede instalar cuando trabaja con Python. Para este tutorial, trabajamos en un entorno virtual de Python. Para instalar PSYCOPG2, use el pepita dominio.

$ PIP Instale PSYCOPG2-Binary

Creemos una base de datos PostgreSQL con la que trabajaremos en el script de Python. Abra su consola PostgreSQL y cree una base de datos a la que se conecte desde Python.

Tenemos diferentes casos de uso sobre cómo usar el módulo PSYCOPG2 para conectar Python a PostgreSQL.

Conectarse a las bases de datos PostgreSQL

Lo primero que debe hacer al usar el módulo PSYCOPG2 es crear una conexión a la base de datos PostgreSQL desde Python.

Comience por importar el módulo PSYCOPG2 a su script de Python. A continuación, usa el conectar() Para crear una instancia de la base de datos a la que desea conectarse. Tenga en cuenta que debe especificar 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:

Con la conexión de base de datos simple creada, pruebe ejecutando el script de python para ver si devuelve el mensaje especificado después de que se devuelve el objeto de conexión.

$ Python

Creando una mesa

Para ejecutar las consultas PostgreSQL desde su script de Python, debe crear un objeto cursor para usar 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 Finalmente 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 obtener un error al intentar volver a ejecutar el script ya que ya creamos la tabla.

El objeto cursor se puede usar con diferentes métodos. Por ejemplo, el siguiente ejemplo inserta los valores en la tabla que se crea anteriormente. Aún así, usamos el objeto cursor para consultar la base de datos y seleccionar todos los elementos que insertamos usando el Fetchall ().

La salida después de ejecutar el script confirma que logramos consultar la tabla en nuestra base de datos PostgreSQL.

Ejecutivo

Otra excelente función para usar con el objeto cursor es Executemany (). La función es útil al ejecutar una consulta que afecta las diferentes tuplas de parámetros en la secuencia proporcionada. Por ejemplo, lo usamos para recrear una tabla dada insertando múltiples valores de una secuencia especificada.

Supongamos que usamos el fetchall () para consultar los valores en la tabla recreada. La salida proporciona todos los valores disponibles en la tabla recreada.

Buscar

La función se usa cuando desea devolver la siguiente fila en un conjunto de resultados de consulta determinada. Si no hay la siguiente fila, regresa Ninguno o muestra el mensaje especificado para confirmar que llegó a la última fila.

En el siguiente ejemplo, creamos un Mientras que el bucle para imprimir todos los valores de una tabla determinada. Cuando llegamos a la última fila, rompemos el bucle e imprimimos un mensaje que confirma que no hay la siguiente fila.

La salida imprime todos los valores en la tabla y un mensaje personalizado cuando la siguiente fila regresa Ninguno.

Fethall

A diferencia del fetchone que devuelve la siguiente fila en el conjunto de consultas, el fetchall devuelve todas las filas restantes como una lista de tuplas. Supongamos que la consulta especificada no tiene registros. Devuelve un conjunto vacío.

Aquí está el resultado de los registros obtenidos que se devuelven como una lista de tuplas.

Consulta parametrizada

El PSYCOPG2 también le permite utilizar las consultas parametrizadas donde crea un marcador de posición para valores en lugar de escribirlos directamente en la consulta. De esa manera, mejora la seguridad de su aplicación.

El siguiente ejemplo demuestra cómo usar las consultas parametrizadas para contener los valores para una consulta de actualización de PostgreSQL.

Los ejemplos anteriores son las formas comunes en que puede utilizar el PSYCOPG2. Puede verificar más funciones de la documentación. Pero ahora entiendes qué es el módulo PSYCOPG2 y cómo usarlo en tu proyecto Python.

Conclusión

El PSYCOPG2 es un módulo 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 utilizar los diferentes objetos y funciones para trabajar con una base de datos PostgreSQL directamente desde Python. Use esta base para disparar su próximo Python con el proyecto de base de datos PostgreSQL.