10.5.4 - DELETE- Apagando Rastros com Precisão
Agente, chegamos à última operação do nosso ciclo CRUD: DELETE. Já aprendemos a inserir (INSERT), consultar (SELECT) e atualizar (UPDATE) registros no Supabase. Agora, vamos dominar a arte de remover dados com o comando DELETE.
Pense no DELETE como a ferramenta oficial de remoção: uma espécie de trituradora de documentos do QG. Seu papel é eliminar linhas inteiras de uma tabela — por isso, exige atenção redobrada.
🎯 Objetivo: Eliminar um Registro Específico
A estrutura do DELETE é simples, mas seu uso deve ser extremamente criterioso. Assim como o UPDATE, ele depende do uso correto da cláusula WHERE para garantir que apenas os dados desejados sejam removidos.
🔍 Estrutura do Comando
DELETE FROM nome_da_tabela
WHERE condicao_de_filtro;📌 Explicação:
DELETE FROM nome_da_tabela: Indica de qual tabela o dado será removido.WHERE condicao_de_filtro: Define quais linhas serão excluídas. Essa cláusula é essencial para evitar exclusões indesejadas. Sempre que possível, utilize a Chave Primária (PK) para garantir precisão.;: Finaliza o comando SQL.
🚨 Atenção: Nunca Execute DELETE Sem WHERE!
Executar um DELETE sem a cláusula WHERE é como ativar uma autodestruição da tabela.
-- EXTREMAMENTE PERIGOSO!
DELETE FROM usuarios;Esse comando apaga todas as linhas da tabela usuarios — sem possibilidade de recuperação, caso você não tenha backup.
🛡️ Regra de Ouro:
Sempre utilize
WHEREnoDELETE, exceto se for intencional apagar todos os registros da tabela (e mesmo assim, tenha um backup!).
🧪 Exemplo 1: Removendo um Post Específico
Vamos supor que você precise excluir um post antigo com ID a1b2c3d4...:
Aqui, apenas a linha com o id informado será removida da tabela posts.
🧪 Exemplo 2: Removendo um Usuário (Com Cautela)
Agora, imagine que você precise excluir o usuário Carlos Pereira:
Porém, se esse usuário estiver relacionado a outras tabelas (como posts ou pedidos), o banco pode impedir a exclusão, dependendo das restrições de integridade referencial.
Comportamentos Possíveis das Foreign Keys (FKs):
RESTRICTouNO ACTION: Impedem a exclusão se houver registros relacionados.CASCADE: Exclui automaticamente os registros relacionados.SET NULL: Define o valor da FK comoNULLnos registros relacionados.SET DEFAULT: Substitui o valor da FK pelo valor padrão da coluna.
📌 A depender da configuração, apagar um usuário pode desencadear ações automáticas em outras tabelas — tenha certeza das consequências antes de prosseguir.
🧪 Exemplo 3: Apagando Vários Registros com Critério
Para excluir todos os posts com menos de 5 curtidas:
O comando irá excluir todas as linhas que atendem à condição especificada.
🧭 Usando a Interface do Supabase
Também é possível apagar registros diretamente pela interface gráfica:
Acesse o Table Editor.
Escolha a tabela desejada.
Localize e selecione a linha.
Clique no ícone de lixeira (🗑️).
Leia com atenção a mensagem de confirmação e confirme a ação.
Ideal para exclusões pontuais, com uma camada extra de segurança.
✅ Conclusão: Missão CRUD Completa!
Parabéns, agente! Agora você domina todas as operações fundamentais do SQL no Supabase:
Criar (
INSERT)Recuperar (
SELECT)Update/Atualizar (
UPDATE)Deletar (
DELETE)
Essas ações são a base de qualquer aplicação que manipule dados.
No próximo capítulo, vamos aprender um dos recursos mais poderosos do SQL: o JOIN — perfeito para cruzar informações entre tabelas conectadas. Prepare-se para ampliar sua visão e conectar os pontos da investigação.
Atualizado

