Para excluir uma ou mais linhas de uma tabela, você usa a instrução delete.
Sintaxe do Comando DELETE
delete from table_name [where condicao_de_busca];
- especifique o nome da tabela da qual deseja remover os dados(delete from table_name)
- especifique quais linhas excluir usando uma condição em uma cláusula where. Cuidado: Caso você omita a cláusula where, a instrução delete removerá todas as linhas da tabela.
Em um banco de dados relacional, uma tabela é associada a outras tabelas por meio de restrições de chave estrangeira(foreign key). Se você excluir linhas da tabela pai, as linhas correspondentes das tabelas filhas serão excluídas automaticamente se as restrições de chave estrangeira usarem ação on delete cascade(exclusão em cascata).
Exemplos de Uso de Instrução DELETE em SQL
Vamos usar a tabela guests em nossos exemplos.
MariaDB [nation]> select * from guests; +----------+----------+ | guest_id | name | +----------+----------+ | 1 | John | | 2 | Jane | | 3 | Jean | | 4 | Storm | | 5 | Beast | | 7 | silvia | | 8 | maria | | 9 | Joana | | 10 | Mateus | | 11 | Silvia | | 12 | Mariana | | 13 | bruno | | 14 | Paulo | | 15 | Mariana | | 100 | Everaldo | +----------+----------+
#1 Vamos excluir o Everaldo pegado o id.
delete from guests where guest_id=100;
MariaDB [nation]> delete from guests where guest_id=100; Query OK, 1 row affected (0,007 sec)
#2 podemos também excluir usando outro campo que não seja o do id, veja:
select * from contacts where last_name = 'Smith';
Deletando Todas as Linhas de uma Tabela
Cuidado! Só use o comando abaixo se realmente tiver certeza que quer excluir todos os registros de uma tabela.
delete from guests;