Neste post, veremos como utilizar o comando DELETE para remover registros de uma tabela de um banco de dados.
Os comandos aqui apresentados são SQL “padrão”, e servem para qualquer SGBD.
A instrução DELETE é utilizada para remover registros de uma tabela do banco de dados.
Sintaxe do comando DELETE:
DELETE FROM nome_tabela WHERE alguma_coluna=algum_valor
Nota: Perceba a cláusula WHERE na sintaxe do comando DELETE. Da mesma forma que o comando update, a cláusula WHERE especifica quais registros (linhas) serão afetadas. Se omitirmos a cláusula WHERE todos os registros da tabela serão excluídos!
Exemplos:
A tabela “pessoa”:
| id | sobrenome | nome | endereco | cidade |
|---|---|---|---|---|
| 1 | Silva | Luis | Rua Lauro | Florianopolis |
| 2 | Souza | Pedro | Rua Schmidt | Rio de Janeiro |
| 3 | Santos | João | Rua Nono | São Paulo |
| 4 | Alves | Silvano | Rua Margarida | Salvador |
| 5 | Ribeiro | Jack | Rua das Araras | Porto Alegre |
Agora, queremos remover o registro com nome e sobrenome “Jack Ribeiro” do banco de dados. Devemos utilizar a seguinte instrução:
DELETE FROM pessoa WHERE sobrenome='Ribeiro' AND nome='Jack';
A tabela de pessoas irá ficar, então, da seguinte forma:
| id | sobrenome | nome | endereco | cidade |
|---|---|---|---|---|
| 1 | Silva | Luis | Rua Lauro | Florianopolis |
| 2 | Souza | Pedro | Rua Schmidt | Rio de Janeiro |
| 3 | Santos | João | Rua Nono | São Paulo |
| 4 | Alves | Silvano | Rua Margarida | Salvador |
Excluindo todos os registros de uma tabela
É possível remover todos os registros de uma tabela, sem precisar remover a tabela em si. Isto significa que, a estrutura da tabela (colunas, chaves primárias e estrangeiras, etc) irá ficar intacta:
DELETE FROM nome_tabela
Nota: Tenha muito cuidado ao remover registros de um banco de dados. Esta instrução não pode ser desfeita!
Referência: http://www.w3schools.com/sql/sql_delete.asp