onsulta DELETE do MySQL: como excluir uma linha de uma tabela

O que é a consulta DELETE?

MySQL DELETE comando é usado para excluir linhas que não são mais necessárias das tabelas do banco de dados. Ele exclui toda a linha da tabela e retorna a contagem de linhas excluídas. O comando Delete é útil para excluir dados temporários ou obsoletos de seu banco de dados.

A consulta Delete no MySQL pode excluir mais de uma linha de uma tabela em uma única consulta. Isso prova ser uma vantagem ao remover um grande número de linhas de uma tabela de banco de dados.

Depois que uma linha Delete na linha MySQL foi excluída, ela não pode ser recuperada. Portanto, é altamente recomendável fazer backups do banco de dados antes de excluir quaisquer dados do banco de dados. Isso pode permitir que você restaure o banco de dados e visualize os dados posteriormente, caso seja necessário.

Como excluir uma linha no MySQL

Para deletar uma linha no MySQL, a instrução DELETE FROM é usada:

DELETE FROM `table_name` [WHERE condition];

AQUI

  • DELETE FROM `table_name` diz ao servidor MySQL para remover linhas da tabela ..
  • [Condição WHERE] é opcional e é usado para colocar um filtro que restringe o número de linhas afetadas pela consulta DELETE do MySQL.

Se a cláusula WHERE não for usada na consulta MySQL DELETE, todas as linhas em uma determinada tabela serão excluídas.

Exemplo de consulta de exclusão do MySQL

Antes de entrarmos em mais detalhes sobre a discussão do comando DELETE, vamos inserir alguns dados de amostra na tabela de filmes para trabalhar.

INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7); INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8); INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);

Executar o script acima adiciona três (3) filmes à tabela de filmes. Antes de prosseguirmos em nossa lição, vamos colocar todos os filmes em nossa tabela. O script mostrado abaixo faz isso.

SELECT * FROM `movies`;

Executar o script acima nos dá os seguintes resultados.

 
movie_iditledirectoryear_releasedcategory_id
1Pirates of the Caribean 4Rob Marshall20111
2Forgetting Sarah MarshalNicholas Stoller20082
3X-MenNULL2008NULL
4Code Name BlackEdgar Jimz2010NULL
5Daddy's Little GirlsNULL20078
6Angels and DemonsNULL20076
7Davinci CodeNULL20076
9Honey moonersJohn Schultz20058
1667% GuiltyNULL2012NULL
18The Great DictatorChalie Chaplie19207
19sample movieAnonymousNULL8
20movie 3John Brown19208

Suponhamos que a videoteca do Myflix não deseje mais alugar 'O Grande Ditador' para seus membros e que eles queiram removê-lo do banco de dados. Seu filme id é 18, podemos usar o script mostrado abaixo para deletar sua linha da tabela de filmes.

DELETE FROM `movies` WHERE `movie_id` = 18;

Executando o script acima em MySQL WorkBench contra o Myflix exclui o filme com id 18 da tabela do banco de dados.

Vamos ver o status atual da tabela de filmes.

SELECT * FROM `movies`;
movie_idtitledirectoryear_releasedcategory_id
1Pirates of the Caribean 4Rob Marshall20111
2Forgetting Sarah MarshalNicholas Stoller20082
3X-MenNULL2008NULL
4Code Name BlackEdgar Jimz2010NULL
5Daddy's Little GirlsNULL20078
6Angels and DemonsNULL20076
7Davinci CodeNULL20076
9Honey moonersJohn Schultz20058
1667% GuiltyNULL2012NULL
19sample movieAnonymousNULL8
20movie 3John Brown19208

NOTA:

  • o filme com id 18 não foi retornado no conjunto de resultados da consulta.
  • você não pode excluir uma única coluna de uma tabela. Você pode excluir uma linha inteira.

Digamos que temos uma lista de filmes que queremos excluir. Podemos usar a cláusula WHERE junto com IN.

DELETE FROM `movies` WHERE `movie_id` IN (20,21);

Executar o script acima exclui filmes com IDs 20 e 21 de nossa tabela de filmes.

Resumo

  • O comando delete é usado para remover dados que não são mais necessários de uma tabela.
  • A 'cláusula WHERE' é usada para limitar o número de linhas afetadas pela consulta DELETE.
  • Uma vez que os dados foram excluídos, eles não podem ser recuperados, portanto, é altamente recomendável fazer backups antes de excluir os dados.