MySQL – DELETE e TRUNCATE TABLE – Excluir registros de uma tabela – 16

Excluir Registros de uma Tabela no MySQL com DELETE e TRUNCATE TABLE

Uma das tarefas mais comuns na manutenção de tabelas de bancos de dados é a exclusão de registros (linhas). É muito comum, por exemplo, excluir um produto de uma tabela que não é mais ofertado por uma loja, ou um cliente que se descadastrou de um sistema.

Além disso, em algumas situações muito especiais, pode ser necessário excluir todos os registros de uma tabela – ou seja, limpar a tabela.

Podemos excluir registros de uma tabela com SQL por meio de duas declarações: DELETE FROM e TRUNCATE TABLE.

Excluir um ou mais registros especificados – Cláusula DELETE

Com a cláusula DELETE podemos excluir registros específicos, indicados (filtrados) por meio de uma condição na cláusula WHERE

Sintaxe:

DELETE FROM tabela WHERE coluna = valor;

Exemplo – vamos excluir o autor da tabela de autores cujo id de autor é igual a 2:

DELETE FROM tbl_autores
WHERE ID_Autor = 2;

Obs.: Sempre use a cláusula WHERE para evitar a perda de dados da tabela, caso contrário todos os registros serão excluídos, uma a um!

TRUNCATE TABLE

O comando TRUNCATE TABLE permite remover todas as linhas de uma tabela em uma única operação, sem registrar as exclusões de linhas individuais.

O TRUNCATE TABLE equivale a executar a instrução DELETE, porém sem usar a cláusula WHERE. Portanto, é usada para apagar completamente o conteúdo de uma tabela no MySQL.

Entretanto, a cláusula TRUNCATE TABLE é mais rápida e utiliza menos recursos de sistema e log de transações durante sua execução.

Exemplo

Exemplo: Vamos excluir todos os registros presentes na tabela tbl_teste_incremento:

TRUNCATE TABLE tbl_teste_incremento;

O vídeo a seguir mostra o uso das cláusulas apresentadas nesta lição, para realizar a exclusão de registros em tabelas no MySQL:

 

Sobre Fábio dos Reis (1192 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

9 Comentários em MySQL – DELETE e TRUNCATE TABLE – Excluir registros de uma tabela – 16

  1. gostei valeu!!!

  2. excelente dica… excelente professor

  3. Amigo, preciso excluir somente os registros da tabela pai que não tem nenhum registro na tabela filho e vice e versa. Como fazer?

  4. Marcone Luna // 01/08/2023 em 11:56 // Responder

    E como faço para excluir não um Registro (Linha) inteiro, mas apenas o conteúdo de um Atributo (Coluna)? Como ficaria esse comando?

  5. RENIO LE SENECHAL BRAGA // 14/03/2024 em 18:14 // Responder

    Caro Sr Fábio,,,,eu queria excluir todos os registros ,,,,mas queria deixaer apenas 01 registro,,,,como faço

Escreva um comentário

Seu e-mail não será divulgado


*