Se algum de seus campos exigir uma data ou hora, você também desejará importar o módulo datetime, que é padrão no Python.
Para abrir uma conexão com um banco de dados, o psycopg precisa de dois argumentos: o nome do banco de dados ('dbname') e o nome do usuário ('usuário'). A sintaxe para abrir uma conexão segue este formato:
Para nosso banco de dados, usaremos o nome do banco de dados 'Birds' e o nome de usuário 'robert'. Para o objeto de conexão dentro do programa, vamos usar a variável 'conexão'. Portanto, nosso comando de conexão será o seguinte:
Naturalmente, esse comando só funcionará se as duas variáveis forem precisas: deve haver um banco de dados real chamado 'Birds', ao qual um usuário chamado 'robert' tenha acesso. Se uma dessas condições não for preenchida, o Python emitirá um erro.
Em seguida, o Python gosta de poder acompanhar de onde parou pela última vez lendo e gravando no banco de dados. No psycopg, isso é chamado de cursor, mas usaremos a variável 'mark' para o nosso programa. Portanto, podemos construir a seguinte atribuição:
Embora alguns formatos de inserção SQL permitam uma estrutura de coluna compreendida ou não declarada, usaremos o seguinte modelo para nossas instruções de inserção:
Embora possamos passar uma declaração nesse formato para o método psycopg 'execute' e, assim, inserir dados no banco de dados, isso rapidamente se torna complicado e confuso. Uma maneira melhor é compartimentar a instrução separadamente do comando 'execute' da seguinte maneira:
Finalmente, depois de passar os dados para o PostgreSQL, devemos confirmar os dados no banco de dados:
Agora, construímos as partes básicas da nossa função 'inserir'. Juntas, as partes ficam assim:
Você notará que temos três variáveis em nossa declaração: tabela, colunas e valores. Estes tornam-se os parâmetros com os quais a função é chamada:
Obviamente, devemos segui-lo com uma sequência de documentos:
Finalmente, temos uma função para inserir dados em uma tabela de nossa escolha, usando colunas e valores definidos conforme necessário.
Para chamar essa função, basta definir a tabela, colunas e valores e passá-los da seguinte forma: