MySQL Consulta DELETE: Como excluir uma linha da tabela
O que é a consulta DELETE?
MySQL Apagar O comando é usado para excluir linhas que não são mais necessárias nas 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 do seu banco de dados.
A consulta Excluir em MySQL pode excluir mais de uma linha de uma tabela em uma única consulta. Isto prova ser uma vantagem ao remover um grande número de linhas de uma tabela de banco de dados.
Uma vez que uma linha Excluir em MySQL linha 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 mais tarde, caso seja necessário.
Como excluir uma linha em MySQL
Para excluir uma linha em MySQL, a instrução DELETE FROM é usada:
DELETE FROM `table_name` [WHERE condition];
AQUI
- DELETE FROM `table_name` informa MySQL servidor para remover linhas da tabela.
- [Condição WHERE] é opcional e é usada para colocar um filtro que restringe o número de linhas afetadas pela sintaxe DELETE MySQL consulta de linha.
Se o Cláusula WHERE não é usado no MySQL EXCLUIR consulta, todas as linhas de uma determinada tabela serão excluídas.
Exemplo de MySQL Apagar Consulta
Antes de entrarmos em uma discussão mais detalhada sobre a instrução SQL DELETE, vamos inserir alguns dados de amostra na tabela de filmes para trabalharmos.
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);
A execução do 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`;
A execução do script acima nos dá os seguintes resultados.
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
18 | The Great Dictator | Chalie Chaplie | 1920 | 7 |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
Suponhamos que a videoteca Myflix não queira mais alugar “O Grande Ditador” para seus membros e eles queiram que ele seja removido do banco de dados. O ID do filme é 18, podemos usar o script mostrado abaixo para excluir a linha da tabela MySQL exemplo.
DELETE FROM `movies` WHERE `movie_id` = 18;
Executando o script acima em MySQL Bancada de Trabalho 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_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
OBSERVAÇÃO:
- 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);
A execução do script acima exclui filmes com IDs 20 e 21 de nossa tabela de filmes.
Resumo
- O comando Excluir em MySQL, é 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 MySQL comando.
- Depois que os dados forem excluídos, eles não poderão ser recuperados; portanto, é altamente recomendável fazer backups antes de excluir os dados.