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.[1] 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).

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

editar

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
      );

Referências

  1. «SQL Delete Statement». w3schools.com 
  Este artigo sobre banco de dados é um esboço. Você pode ajudar a Wikipédia expandindo-o.