Na linguagem de consulta estruturada de banco de dados (SQL), a instrução DELETE remove um ou mais registros de uma tabela. Um subconjunto pode ser definido para exclusão usando uma condição, caso contrário, todos os registros serão removidos. Alguns SGBDs, como o MySQL, permitem a exclusão de linhas de várias tabelas com uma instrução DELETE (isso às vezes é chamado DELEÇÃO de várias tabelas).

Uso A instrução DELETE segue a sintaxe:

DELETE FROM nome_da_tabela [WHERE condição];

Todas as linhas que correspondam à condição WHERE serão removidas da tabela. Se a cláusula WHERE for omitida, todas as linhas da tabela serão removidas. A instrução DELETE deve, portanto, ser usada com cautela.

A instrução DELETE não retorna nenhuma linha, isto é, não irá gerar um conjunto de resultados.

A execução de uma instrução DELETE pode provocar a execução de gatilhos que podem causar exclusões em outras tabelas. Por exemplo, se duas tabelas são vinculadas por uma chave estrangeira e as linhas da tabela referenciada são excluídas, é comum que as linhas na tabela de referência também precisem ser excluídas para manter a integridade referencial.

Exemplos Exclui linhas da tabela tortas, cuja coluna sabor seja igual a Bacuri: DELETE FROM tortas WHERE sabor='Bacuri';

Exclui linhas em arvores, se o valor da altura for menor que 80. DELETE FROM arvores WHERE altura < 80;

Exclui todas as linhas de minha_tabela: DELETE FROM mminha_tabela;

Exclui linhas de minha_tabela usando uma sub-consulta na condição where: DELETE FROM minha_tabela WHERE id IN ( SELECT id FROM minha_tabela2 );

Exclui linhas de minha_tabela usando uma lista de valores: DELETE FROM minha_tabela WHERE id IN ( valor1, valor2, valor3, valor4, valor5 );

Categoria:Palavras-chave da SQL