-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
182 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,182 @@ | ||
Para interagir com bases de dados PostgreSQL em Python, o pacote mais utilizado é o `psycopg2`, que permite executar comandos SQL em bases de dados PostgreSQL diretamente a partir do Python. Abaixo, explico como realizar operações básicas, incluindo exemplos práticos. | ||
|
||
### Instalação do Psycopg2 | ||
|
||
Primeiro, instale o pacote `psycopg2` com o comando: | ||
|
||
```bash | ||
pip install psycopg2 | ||
``` | ||
|
||
### Passo 1: Conectar à Base de Dados PostgreSQL | ||
|
||
Primeiro, estabelecemos uma conexão com o servidor PostgreSQL. Certifique-se de ter um banco de dados criado previamente para conectar-se. | ||
|
||
```python | ||
import psycopg2 | ||
|
||
# Conectar-se ao PostgreSQL | ||
conn = psycopg2.connect( | ||
host="localhost", | ||
database="exemplo_db", | ||
user="seu_usuario", | ||
password="sua_senha" | ||
) | ||
|
||
# Verificar se a conexão foi bem-sucedida | ||
if conn: | ||
print("Conectado ao PostgreSQL com sucesso!") | ||
|
||
# Fechar a conexão | ||
conn.close() | ||
``` | ||
|
||
> **Nota**: Altere os parâmetros `host`, `database`, `user`, e `password` com os detalhes da sua base de dados PostgreSQL. | ||
### Passo 2: Criar uma Tabela | ||
|
||
Após a conexão, podemos criar uma tabela. Neste exemplo, vamos criar uma tabela chamada `clientes` com colunas `id`, `nome` e `idade`. | ||
|
||
```python | ||
import psycopg2 | ||
|
||
# Conectar-se ao PostgreSQL | ||
conn = psycopg2.connect( | ||
host="localhost", | ||
database="exemplo_db", | ||
user="seu_usuario", | ||
password="sua_senha" | ||
) | ||
cursor = conn.cursor() | ||
|
||
# Criar a tabela 'clientes' | ||
cursor.execute(""" | ||
CREATE TABLE IF NOT EXISTS clientes ( | ||
id SERIAL PRIMARY KEY, | ||
nome VARCHAR(50) NOT NULL, | ||
idade INTEGER NOT NULL | ||
) | ||
""") | ||
print("Tabela criada com sucesso!") | ||
|
||
# Confirmar as alterações e fechar a conexão | ||
conn.commit() | ||
conn.close() | ||
``` | ||
|
||
### Passo 3: Inserir Dados na Tabela | ||
|
||
Para inserir dados na tabela `clientes`, usamos a instrução `INSERT INTO`. | ||
|
||
```python | ||
import psycopg2 | ||
|
||
# Conectar-se ao PostgreSQL | ||
conn = psycopg2.connect( | ||
host="localhost", | ||
database="exemplo_db", | ||
user="seu_usuario", | ||
password="sua_senha" | ||
) | ||
cursor = conn.cursor() | ||
|
||
# Inserir dados na tabela | ||
cursor.execute("INSERT INTO clientes (nome, idade) VALUES (%s, %s)", ("Ana", 28)) | ||
cursor.execute("INSERT INTO clientes (nome, idade) VALUES (%s, %s)", ("Carlos", 35)) | ||
print("Dados inseridos com sucesso!") | ||
|
||
# Confirmar as alterações e fechar a conexão | ||
conn.commit() | ||
conn.close() | ||
``` | ||
|
||
### Passo 4: Consultar Dados | ||
|
||
Para consultar os dados, usamos a instrução `SELECT`. Vamos buscar todos os registros da tabela `clientes`. | ||
|
||
```python | ||
import psycopg2 | ||
|
||
# Conectar-se ao PostgreSQL | ||
conn = psycopg2.connect( | ||
host="localhost", | ||
database="exemplo_db", | ||
user="seu_usuario", | ||
password="sua_senha" | ||
) | ||
cursor = conn.cursor() | ||
|
||
# Consultar dados | ||
cursor.execute("SELECT * FROM clientes") | ||
clientes = cursor.fetchall() | ||
|
||
# Exibir os resultados | ||
for cliente in clientes: | ||
print(f"ID: {cliente[0]}, Nome: {cliente[1]}, Idade: {cliente[2]}") | ||
|
||
# Fechar a conexão | ||
conn.close() | ||
``` | ||
|
||
### Passo 5: Atualizar Dados | ||
|
||
Para atualizar um registro, usamos a instrução `UPDATE`. Vamos alterar a idade do cliente "Ana" para 29. | ||
|
||
```python | ||
import psycopg2 | ||
|
||
# Conectar-se ao PostgreSQL | ||
conn = psycopg2.connect( | ||
host="localhost", | ||
database="exemplo_db", | ||
user="seu_usuario", | ||
password="sua_senha" | ||
) | ||
cursor = conn.cursor() | ||
|
||
# Atualizar a idade de Ana | ||
cursor.execute("UPDATE clientes SET idade = %s WHERE nome = %s", (29, "Ana")) | ||
print("Dados atualizados com sucesso!") | ||
|
||
# Confirmar as alterações e fechar a conexão | ||
conn.commit() | ||
conn.close() | ||
``` | ||
|
||
### Passo 6: Apagar Dados | ||
|
||
Para remover registros, usamos a instrução `DELETE`. Vamos remover o cliente "Carlos". | ||
|
||
```python | ||
import psycopg2 | ||
|
||
# Conectar-se ao PostgreSQL | ||
conn = psycopg2.connect( | ||
host="localhost", | ||
database="exemplo_db", | ||
user="seu_usuario", | ||
password="sua_senha" | ||
) | ||
cursor = conn.cursor() | ||
|
||
# Apagar o cliente Carlos | ||
cursor.execute("DELETE FROM clientes WHERE nome = %s", ("Carlos",)) | ||
print("Dados apagados com sucesso!") | ||
|
||
# Confirmar as alterações e fechar a conexão | ||
conn.commit() | ||
conn.close() | ||
``` | ||
|
||
### Resumo dos Passos | ||
|
||
1. **Conectar-se** ao servidor PostgreSQL e à base de dados. | ||
2. **Criar uma tabela** para armazenar os dados. | ||
3. **Inserir dados** na tabela. | ||
4. **Consultar dados** para exibir informações. | ||
5. **Atualizar dados** de registros específicos. | ||
6. **Apagar registros** da tabela. | ||
|
||
### Considerações Finais | ||
|
||
Esses são os passos básicos para trabalhar com o PostgreSQL em Python usando o `psycopg2`. Cada alteração na base de dados (inserção, atualização e eliminação de dados) precisa ser confirmada com `commit()` para que as alterações sejam salvas permanentemente. |