Este tutorial faz parte da série Aprenda consultas básicas de SQL usando MySQL. Neste tutorial, discutiremos consultas SQL para excluir as linhas ou dados de uma tabela no MySQL.
Excluir consulta
O comando EXCLUIR pode ser usado para excluir ou remover linhas de uma tabela. O comando DELETE é irreversível, portanto devemos usá-lo com cuidado. Caso você esteja conectado remotamente ao banco de dados, você também precisará do privilégio DELETE para a tabela para excluir as linhas de uma tabela.
# DELETE - Syntax
DELETE FROM `table_name` WHERE <single or multiple filter conditions>;
Explicação da consulta
O comando MySQL DELETE pode ser usado para excluir linhas ou dados de um determinado nome de tabela, onde o nome da tabela é obrigatório e a cláusula WHERE é opcional.
Temos que especificar pelo menos uma condição usando a cláusula WHERE para que as linhas se qualifiquem para exclusão, caso contrário a tabela inteira será apagada. Todas as linhas da tabela
Exemplos
Esta seção fornece exemplos para excluir linhas da tabela usando o comando DELETE. Use a consulta mencionada abaixo para criar a tabela de usuário com o id, nome, sobrenome e colunas ativas para armazenar os dados do usuário.
# Create the User Table
CREATE TABLE `enterprise`.`user` (
`user_id` BIGINT NOT NULL,
`first_name` VARCHAR(45) ,
`last_name` VARCHAR(45),
`active` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`));
A consulta abaixo mencionada pode ser usada para inserir dados na tabela do usuário.
# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
( 1, 'John', 'Smith', 1 ),
( 2, 'Rick', 'Jones', 1 ),
( 3, 'Catherine', 'Ponting', 0 ),
( 4, 'Harsh', 'Upadhyay', 1 ),
( 5, 'Tajwinder', 'Singh', 0 );
A consulta acima mencionada irá inserir 5 linhas na tabela com o id, primeiro nome, sobrenome e colunas ativas para representar 5 usuários diferentes.
Agora vamos deletar os dados inseridos por nós na tabela do usuário. Isso pode ser feito usando o comando DELETE como mostrado abaixo.
# DELETE - Delete all the inactive users
DELETE FROM `user` WHERE `active` = 0;
# Result
1 John Smith 1
2 Rick Jones 1
4 Harsh Upadhyay 1
# DELETE - Remove selective users
DELETE FROM `user` WHERE `user_id` = 1;
DELETE FROM `user` WHERE `user_id` IN( 2, 4 );
# Result - All rows deleted
As consultas mencionadas acima excluem as linhas da tabela de usuário usando a cláusula WHERE. As linhas da tabela serão excluídas caso a linha atenda às condições fornecidas.
Agora execute novamente a consulta INSERT para inserir os dados de teste. Também podemos excluir linhas usando várias condições, conforme mostrado abaixo.
# DELETE - Delete inactive users using first name
DELETE FROM `user` WHERE `first_name` = 'Catherine' AND `active` = 0;
# Result
1 John Smith 1
2 Rick Jones 1
4 Harsh Upadhyay 1
5 Tajwinder Singh 0
É assim que podemos excluir os dados armazenados nas tabelas do MySQL.