Aula 05 - DML (Manipulação de Dados) ⚙️
Objetivo
Objetivo: Aprender os comandos DML (Data Manipulation Language) para inserir, atualizar e excluir informações dentro das tabelas criadas no PostgreSQL.
1. O que é DML? 🖊️
Enquanto o DDL cria o "balde", o DML gerencia a "água" (os dados). É o conjunto de comandos que usamos no dia a dia para manter as informações do sistema atualizadas.
Comandos principais: * INSERT: Adiciona novas linhas. * UPDATE: Altera dados de linhas existentes. * DELETE: Remove linhas da tabela.
2. Inserindo Dados (INSERT) 📥
O comando INSERT adiciona um novo registro.
Sintaxe Básica:
Inserindo Múltiplos Registros de uma vez:
INSERT INTO alunos (nome, email) VALUES
('Ana Souza', 'ana@email.com'),
('João Silva', 'joao@email.com'),
('Maria Oliveira', 'maria@email.com');
Tip
Não é necessário incluir a coluna id se ela for do tipo SERIAL, pois o banco a preenche sozinho!
3. Atualizando Dados (UPDATE) ✏️
Use o UPDATE para mudar informações que já estão lá.
Caution
NUNCA esqueça o WHERE! Sem ele, você atualizará TODOS os registros da tabela com o mesmo valor.
4. Removendo Dados (DELETE) 🗑️
O DELETE remove registros permanentemente.
Caution
Assim como no UPDATE, o WHERE é vital. Se esquecer, você esvaziará a tabela inteira! Para apagar tudo propositalmente e de forma rápida, dê preferência ao TRUNCATE (DDL).
5. Visualização de Fluxo (Mermaid) 📊
graph TD
Start[Novo Registro] --> I[INSERT]
I --> DB[(Banco de Dados)]
DB --> U[UPDATE - Mudança de Idade/Email]
U --> DB
DB --> D[DELETE - Cancelamento de Conta]
D --> Archive[Fim do Registro] 6. Prática: Populando seu Banco 💻
Utilize o Query Tool para popular sua tabela de alunos:
$ INSERT INTO alunos (nome) VALUES ('Cadu'), ('Bia');
$ SELECT * FROM alunos;
$
$ -- Simulando erro do estagiário:
$ UPDATE alunos SET nome = 'ERRO'; -- Cuidado! Cancele antes de executar!
7. Mini-Projeto: Gestão de Inventário 🚀
Crie uma tabela produtos (id, nome, preco, estoque) e realize: 1. O cadastro de 3 produtos. 2. Uma atualização de preço em 10% para um produto específico. 3. A exclusão de um produto que saiu de linha.
8. Exercícios de Fixação 🧠
- Diferencie
UPDATEdeINSERT. - O que acontece se eu executar
DELETE FROM alunos;sem a cláusulaWHERE? - Como insiro um valor na coluna
data_nascimentoseguindo o formato padrão do ISO (YYYY-MM-DD)?
Próxima Aula: Vamos aprender a recuperar esses dados com o DQL Básico! 💾