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.