La instrucció MySQL DELETE s'utilitza per eliminar registres de la taula MySQL que ja no són necessaris a la base de dades. Aquesta consulta a MySQL elimina una fila completa de la taula i produeix el recompte de files suprimides . També ens permet suprimir més d'un registre de la taula dins d'una sola consulta, cosa que és beneficiós alhora que eliminem un gran nombre de registres d'una taula. Si utilitzem la declaració delete, també podem eliminar dades en funció de les condicions.
Un cop suprimim els registres mitjançant aquesta consulta, no podem recuperar-los . Per tant, abans d'eliminar qualsevol registre de la taula, es recomana crear una còpia de seguretat de la vostra base de dades . Les còpies de seguretat de la base de dades ens permeten restaurar les dades sempre que les necessitem en el futur.
c programa per a la comparació de cadenes
Sintaxi:
A continuació es mostra la sintaxi que il·lustra com utilitzar la instrucció DELETE:
DELETE FROM table_name WHERE condition;
A la declaració anterior, primer hem d'especificar el nom de la taula de la qual volem suprimir les dades. En segon lloc, hem d'especificar la condició per eliminar registres a la clàusula WHERE , que és opcional. Si ometem la clàusula WHERE a la instrucció, aquesta consulta eliminarà registres sencers de la taula de base de dades.
Si volem suprimir registres de diverses taules mitjançant una única consulta DELETE, hem d'afegir el UNEIX-TE clàusula amb la instrucció DELETE.
Si volem eliminar tots els registres d'una taula sense saber el nombre de files suprimides, hem d'utilitzar el TAULA TRUNCADA declaració que ofereix un millor rendiment.
Entendrem com funciona la instrucció DELETE MySQL a través de diversos exemples.
Exemples d'instruccions DELETE de MySQL
Aquí, farem servir el 'Empleats' i 'Pagament' taules per a la demostració de la sentència DELETE. Suposem que les taules d'empleats i de pagament contenen les dades següents:
Si volem eliminar un empleat del qual emp_id és 107 , hauríem d'utilitzar la instrucció DELETE amb la clàusula WHERE. Vegeu la consulta següent:
mysql> DELETE FROM Employees WHERE emp_id=107;
Després de l'execució de la consulta, retornarà la sortida com la imatge següent. Un cop eliminat el registre, verifiqueu la taula amb la instrucció SELECT:
herència en java
Si volem eliminar tots els registres de la taula, no cal fer servir la clàusula WHERE amb la instrucció DELETE. Vegeu el codi i la sortida següents:
A la sortida anterior, podem veure que després d'eliminar totes les files, la taula Empleats estarà buida. Vol dir que no hi ha registres disponibles a la taula seleccionada.
MySQL Clàusula DELETE i LIMIT
La clàusula de límit de MySQL s'utilitza per restringir el recompte de files retornades del conjunt de resultats, en lloc d'obtenir tots els registres de la taula. De vegades volem limitar el nombre de files que s'han d'esborrar de la taula; en aquest cas, farem servir el LÍMIT clàusula de la següent manera:
DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count;
Cal tenir en compte que l'ordre de les files d'una taula MySQL no s'especifica. Per tant, sempre hem d'utilitzar DEMANAT PER clàusula mentre utilitza la clàusula LIMIT.
Per exemple , la consulta següent ordena primer els empleats segons els seus noms alfabèticament i elimina els tres primers empleats de la taula:
mysql> DELETE FROM Employees ORDER BY name LIMIT 3;
Donarà la sortida següent:
Clàusula DELETE i JOIN de MySQL
La clàusula JOIN s'utilitza per afegir dues o més taules a MySQL. Afegirem la clàusula JOIN amb la instrucció DELETE sempre que vulguem eliminar registres de diverses taules dins d'una sola consulta. Vegeu la consulta següent:
mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102;
Sortida:
Després de l'execució, veurem la sortida com la imatge següent:
Per llegir més informació sobre la instrucció DELETE amb la clàusula JOIN, clica aquí .