logo

Istruzione MySQL DELETE

L'istruzione MySQL DELETE viene utilizzata per rimuovere i record dalla tabella MySQL che non sono più necessari nel database. Questa query in MySQL elimina una riga intera dalla tabella e produce il conteggio delle righe eliminate . Ci consente inoltre di eliminare più di un record dalla tabella all'interno di una singola query, il che è vantaggioso durante la rimozione di un gran numero di record da una tabella. Utilizzando l'istruzione delete, possiamo anche rimuovere i dati in base alle condizioni.

Una volta eliminati i record utilizzando questa query, non possiamo recuperarli . Pertanto prima di eliminare qualsiasi record dalla tabella si consiglia di farlo crea un backup del tuo database . I backup del database ci consentono di ripristinare i dati ogni volta che ne avremo bisogno in futuro.

Sintassi:

Di seguito è riportata la sintassi che illustra come utilizzare l'istruzione DELETE:

libero contro libero
 DELETE FROM table_name WHERE condition; 

Nella dichiarazione precedente, dobbiamo prima specificare il nome della tabella da cui vogliamo eliminare i dati. In secondo luogo, dobbiamo specificare la condizione per eliminare i record nella clausola WHERE, che è facoltativa. Se omettiamo la clausola WHERE nell'istruzione, questa query rimuoverà interi record dalla tabella del database.

Se vogliamo eliminare record da più tabelle utilizzando una singola query DELETE, dobbiamo aggiungere il file GIUNTURA clausola con l'istruzione DELETE.

Se vogliamo eliminare tutti i record da una tabella senza conoscere il conteggio delle righe eliminate, dobbiamo utilizzare il file TRONCA TABELLA dichiarazione che fornisce prestazioni migliori.

Cerchiamo di capire come funziona l'istruzione DELETE MySQL attraverso vari esempi.

Esempi di istruzioni MySQL DELETE

Qui utilizzeremo il file 'Dipendenti' E 'Pagamento' tabelle per la dimostrazione dell'istruzione DELETE. Supponiamo che le tabelle Employees e Payment contengano i seguenti dati:

query di eliminazione mysql
query di eliminazione mysql

Se vogliamo eliminare un dipendente il cui emp_id è 107 , dovremmo usare l'istruzione DELETE con la clausola WHERE. Vedi la query seguente:

come convertire una stringa in int
 mysql> DELETE FROM Employees WHERE emp_id=107; 

Dopo l'esecuzione della query, restituirà l'output come nell'immagine sottostante. Una volta eliminato il record, verifica la tabella utilizzando l'istruzione SELECT:

impostazioni del browser web
query di eliminazione mysql

Se vogliamo eliminare tutti i record dalla tabella, non è necessario utilizzare la clausola WHERE con l'istruzione DELETE. Vedere il codice e l'output seguenti:

query di eliminazione mysql

Nell'output sopra, possiamo vedere che dopo aver rimosso tutte le righe, la tabella Employees sarà vuota. Significa che non ci sono record disponibili nella tabella selezionata.

Clausola DELETE e LIMIT di MySQL

La clausola MySQL Limit viene utilizzata per limitare il conteggio delle righe restituite dal set di risultati, anziché recuperare tutti i record nella tabella. A volte vogliamo limitare il numero di righe da eliminare dalla tabella; in tal caso, utilizzeremo il file LIMITE clausola come segue:

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

È da notare che l'ordine delle righe in una tabella MySQL non è specificato. Pertanto, dovremmo sempre usare il file ORDINATO DA clausola mentre si utilizza la clausola LIMIT.

Per esempio , la query seguente ordina innanzitutto i dipendenti in base ai loro nomi in ordine alfabetico e cancella i primi tre dipendenti dalla tabella:

 mysql> DELETE FROM Employees ORDER BY name LIMIT 3; 

Fornirà l'output seguente:

query di eliminazione mysql

Clausola DELETE e JOIN di MySQL

La clausola JOIN viene utilizzata per aggiungere due o più tabelle in MySQL. Aggiungeremo la clausola JOIN con l'istruzione DELETE ogni volta che vogliamo eliminare record da più tabelle all'interno di una singola query. Vedi la query seguente:

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

Produzione:

Dopo l'esecuzione, vedremo l'output come nell'immagine seguente:

converti str in intero
query di eliminazione mysql

Per leggere ulteriori informazioni sull'istruzione DELETE con la clausola JOIN, clicca qui .