Como usar o PsycopG2 para conectar o python ao postgreSQL

Como usar o PsycopG2 para conectar o python ao postgreSQL

PostgreSQL é um sistema de banco de dados de objetos relacionados a objetos que você pode vincular a diferentes linguagens de programação. Ao criar um aplicativo Python, você pode conectá -lo ao banco de dados PostGresql. Além disso, conectar o python ao pós -grausql é simplificado, graças ao Psycopg2 Adaptador de banco de dados PostgreSQL.

Depois de instalar o adaptador em seu ambiente de desenvolvimento Python, você pode executar todas as tarefas de banco de dados PostGresql diretamente do aplicativo Python. Este guia abrange diferentes maneiras de usar o adaptador de banco de dados PSYCOPG2 ao trabalhar com um script python.

Como usar o PsycopG2 para conectar o python ao postgreSQL

PsycopG2 é um módulo Python que você pode instalar ao trabalhar com Python. Para este tutorial, trabalhamos em um ambiente virtual do Python. Para instalar PsycopG2, use o pip comando.

$ pip install psycopg2-binário

Vamos criar um banco de dados PostGresql com o qual trabalharemos no script python. Abra seu console PostGresql e crie um banco de dados para o qual você se conecta do Python.

Temos casos de uso diferentes sobre como usar o módulo PsycopG2 para conectar o Python ao PostgreSQL.

Conectando -se aos bancos de dados PostGresql

A primeira coisa que você deve fazer ao usar o módulo PsycopG2 é criar uma conexão com o banco de dados PostGresql do Python.

Comece importando o módulo PsycopG2 para o seu script python. Em seguida, use o conectar() Para criar uma instância do banco de dados para o qual você deseja se conectar. Observe que você deve especificar o nome do banco de dados, o usuário e a senha. Em alguns casos, você pode especificar o host e a porta.

Aqui está um exemplo:

Com a conexão simples do banco de dados criada, teste -a executando o script python para ver se ele retorna a mensagem especificada após a devolução do objeto de conexão.

$ python

Criando uma tabela

Para executar as consultas PostGresql do seu script python, você deve criar um objeto cursor Para usar em todo o código Python. O exemplo a seguir utiliza o cursor() Para executar uma consulta para criar uma tabela no banco de dados. Além disso, anexamos o código em um Try-exceto-finalmente para facilitar a depuração. Observe que você deve fechar o conexão objeto e o cursor função no final do script.

Suponha que testemos nosso script python. Confirmamos que conseguimos criar a tabela e obter um erro ao tentar executar o script novamente, já que já criamos a tabela.

O objeto cursor pode ser usado com métodos diferentes. Por exemplo, o exemplo a seguir insere os valores na tabela que é criada anteriormente. Ainda assim, usamos o objeto cursor para consultar o banco de dados e selecionar todos os elementos que inserimos usando o Fetchall ().

A saída após a execução do script confirma que conseguimos consultar a tabela em nosso banco de dados PostgreSQL.

Executemany

Outra excelente função a ser usada com o objeto Cursor é a executomany (). A função é útil ao executar uma consulta que afeta as diferentes tuplas de parâmetro na sequência fornecida. Por exemplo, nós o usamos para recriar uma determinada tabela, inserindo vários valores de uma sequência especificada.

Suponha que usemos o Fetchall () para consultar os valores na mesa recriada. A saída fornece todos os valores disponíveis na tabela recriada.

FetchOne

A função é usada quando você deseja retornar a próxima linha em um determinado conjunto de resultados de consulta. Se não houver a próxima linha, ele retorna Nenhum ou exibe a mensagem especificada para confirmar que você alcançou a última linha.

No exemplo seguinte, criamos um enquanto loop Para imprimir todos os valores de uma determinada tabela. Quando chegamos à última linha, quebramos o loop e imprimimos uma mensagem confirmando que não há a próxima linha.

A saída imprime todos os valores na tabela e uma mensagem personalizada quando a próxima linha retornar Nenhum.

Fetchall

Ao contrário do FetchOne que retorna a próxima linha no conjunto de consultas, o Fetchall retorna todas as linhas restantes como uma lista de tuplas. Suponha que a consulta especificada não tenha registros. Ele retorna um conjunto vazio.

Aqui está a saída dos registros buscados que são devolvidos como uma lista de tuplas.

Consulta parametrizada

O PsycopG2 também permite usar as consultas parametrizadas nas quais você cria um espaço reservado para valores, em vez de escrevê -las diretamente na consulta. Dessa forma, você aprimora a segurança do seu aplicativo.

O exemplo a seguir demonstra como usar as consultas parametrizadas para manter os valores para uma atualização PostgreSQL Consulta.

Os exemplos anteriores são as maneiras comuns de utilizar o psycopg2. Você pode verificar mais funções da documentação. Mas agora você entende o que é o módulo PsycopG2 e como usá -lo em seu projeto Python.

Conclusão

O PsycopG2 é um módulo Python que facilita a conexão entre Python e PostgreSQL. Vimos como instalar o módulo, criar uma conexão de banco de dados PostGresql e utilizar os diferentes objetos e funções para trabalhar com um banco de dados PostgreSQL diretamente do Python. Use esta base para disparar seu próximo python com o projeto de banco de dados PostGresql.