Delete (SQL) – Wikipédia, a enciclopédia livre
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).
Uso
[editar | editar código-fonte]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 | editar código-fonte]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
- ↑ «SQL Delete Statement». w3schools.com