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:
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
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:
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:
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:
Para ler mais informações sobre a instrução DELETE com a cláusula JOIN, Clique aqui .