Problema:
Você deseja remover uma linha/linhas de uma tabela.
Exemplo 1:
No
exam tabela, há nomes dos alunos e os resultados do exame. | nome | resultado |
|---|---|
| Janet Morgen | 9 |
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
| Ellen Thornton | 8 |
Você deseja remover a linha de Ellen Thornton.
Solução 1:
DELETE FROM exam WHERE name = 'Ellen Thornton';
A tabela
exam agora fica assim:| nome | resultado |
|---|---|
| Janet Morgen | 9 |
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
Discussão:
Use
DELETE FROM com o nome da tabela da qual você deseja excluir uma linha. Em WHERE , escreva a condição especificando a linha. Se você tiver uma linha específica em mente, é melhor escrever a condição usando a coluna que contém valores exclusivos. Aqui, a coluna exclusiva é name . Se houver muitas linhas cujo nome seja igual a '
Ellen Thornton ', todos eles serão removidos. Se não houver tal nome, nenhuma linha será removida. Exemplo 2:
No
exam tabela, há nomes dos alunos e os resultados do exame, assim como no exemplo anterior. | nome | resultado |
|---|---|
| Janet Morgen | 9 |
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
| Ellen Thornton | 8 |
Você deseja remover todas as linhas para as quais o
result é maior que 10 . Solução 2:
DELETE FROM exam WHERE result > 10;
O
exam tabela agora fica assim:| nome | resultado |
|---|---|
| Janet Morgen | 9 |
| Josh Kaur | 10 |
| Ellen Thornton | 8 |
Discussão:
Às vezes, você não sabe as linhas exatas que precisa remover ou mesmo quantas linhas precisa remover. Você pode escrever a condição para a qual as linhas devem ser removidas. Pode haver muitas linhas que atendem à condição, pode ser apenas uma linha ou nenhuma linha.
Claro, você pode escrever várias condições em
WHERE , juntando-os com AND ou OR , por exemplo:DELETE FROM exam WHERE result > 10 AND name LIKE 'J%';