diff --git a/PostgreSQL.md b/PostgreSQL.md new file mode 100644 index 0000000..14eea93 --- /dev/null +++ b/PostgreSQL.md @@ -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.