logo

Instrução DELETE do MySQL

A instrução MySQL DELETE é usada para remover registros da tabela MySQL que não são mais necessários no banco de dados. Esta consulta no MySQL exclui uma linha completa da tabela e produz a contagem de linhas excluídas . Também nos permite excluir mais de um registro da tabela em uma única consulta, o que é benéfico ao remover um grande número de registros de uma tabela. Ao usar a instrução delete, também podemos remover dados com base nas condições.

Depois de excluirmos os registros usando esta consulta, não poderemos recuperá-los . Portanto, antes de excluir qualquer registro da tabela, é recomendável crie um backup do seu banco de dados . Os backups de banco de dados nos permitem restaurar os dados sempre que precisarmos deles no futuro.

Sintaxe:

A seguir está a sintaxe que ilustra como usar a instrução DELETE:

 DELETE FROM table_name WHERE condition; 

Na instrução acima, temos que primeiro especificar o nome da tabela da qual queremos excluir os dados. Segundo, temos que especificar a condição para excluir registros na cláusula WHERE, que é opcional. Se omitirmos a cláusula WHERE na instrução, esta consulta removerá registros inteiros da tabela do banco de dados.

Se quisermos excluir registros de múltiplas tabelas usando uma única consulta DELETE, devemos adicionar o JUNTAR cláusula com a instrução DELETE.

Se quisermos excluir todos os registros de uma tabela sem saber a contagem de linhas excluídas, devemos usar o comando TABELA TRUNCADA declaração que dá melhor desempenho.

converter string em char

Vamos entender como a instrução DELETE funciona em MySQL através de vários exemplos.

Exemplos de instruções DELETE do MySQL

Aqui, vamos usar o 'Funcionários' e 'Pagamento' tabelas para demonstração da instrução DELETE. Suponha que as tabelas Funcionários e Pagamento contenham os seguintes dados:

consulta de exclusão mysql
consulta de exclusão mysql

Se quisermos excluir um funcionário cujo emp_id é 107 , devemos usar a instrução DELETE com a cláusula WHERE. Veja a consulta abaixo:

 mysql> DELETE FROM Employees WHERE emp_id=107; 

Após a execução da consulta, ela retornará a saída conforme imagem abaixo. Depois que o registro for excluído, verifique a tabela usando a instrução SELECT:

como converter uma string em um int
consulta de exclusão mysql

Se quisermos excluir todos os registros da tabela, não há necessidade de usar a cláusula WHERE com a instrução DELETE. Veja o código e a saída abaixo:

consulta de exclusão mysql

Na saída acima, podemos ver que após remover todas as linhas, a tabela Employees ficará vazia. Significa que não há registros disponíveis na tabela selecionada.

Cláusula MySQL DELETE e LIMIT

A cláusula MySQL Limit é usada para restringir a contagem de linhas retornadas do conjunto de resultados, em vez de buscar todos os registros da tabela. Às vezes queremos limitar o número de linhas a serem excluídas da tabela; nesse caso, usaremos o LIMITE cláusula da seguinte forma:

 DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count; 

Deve-se observar que a ordem das linhas em uma tabela MySQL não é especificada. Portanto, devemos sempre usar o ORDENAR POR cláusula ao usar a cláusula LIMIT.

Por exemplo , a consulta a seguir primeiro classifica os funcionários de acordo com seus nomes em ordem alfabética e exclui os três primeiros funcionários da tabela:

 mysql> DELETE FROM Employees ORDER BY name LIMIT 3; 

Ele fornecerá a saída abaixo:

consulta de exclusão mysql

Cláusula MySQL DELETE e JOIN

A cláusula JOIN é usada para adicionar duas ou mais tabelas no MySQL. Adicionaremos a cláusula JOIN com a instrução DELETE sempre que desejarmos excluir registros de várias tabelas em uma única consulta. Veja a consulta abaixo:

 mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102; 

Saída:

Após a execução, veremos a saída conforme imagem abaixo:

consulta de exclusão mysql

Para ler mais informações sobre a instrução DELETE com a cláusula JOIN, Clique aqui .