MySQL DELETE vi permette di rimuovere voci da una tabella. Il comando serve a rimuovere singole o tutte le righe dalla tabella.

Che cos’è MySQL DELETE?

MySQL è una funzione per tabelle che vi aiuta a strut­tu­ra­re i vostri dati e ad ar­chi­viar­li in modo chiaro. Ogni tanto è ne­ces­sa­rio eliminare dei dati per tenere sempre ag­gior­na­to il sistema di gestione di database e le voci in esso me­mo­riz­za­te. Il comando del software adatto a questo scopo è MySQL DELETE, una funzione che vi permette di definire con pre­ci­sio­ne il record di dati da eliminare. Per farlo, dovete indicare i dati in­te­res­sa­ti, ag­giun­gen­do una nota per spe­ci­fi­ca­re la tabella in cui ef­fet­tua­re l’eli­mi­na­zio­ne.

La sintassi di MySQL DELETE

Bastano poche parole per de­scri­ve­re la sintassi di base di MySQL DELETE. Se state imparando a uti­liz­za­re MySQL, ne conoscete già la struttura, analoga a quella di comandi come MySQL CONCAT, MySQL REPLACE, MySQL DATE o MySQL DATEDIFF. Con MySQL DELETE dovete tuttavia fornire due im­por­tan­ti in­for­ma­zio­ni al sistema. Il comando si presenta così:

DELETE FROM tabella
WHERE condizione;
bash

L’in­for­ma­zio­ne “FROM” serve a indicare al sistema la tabella in cui eliminare il record di dati. “WHERE” permette di spe­ci­fi­ca­re la con­di­zio­ne che un record di dati deve ri­spet­ta­re per essere rimosso. Se si tralascia la con­di­zio­ne “WHERE”, viene eliminata l’intera riga.

Esempio con MySQL DELETE

Il modo più semplice per capire il fun­zio­na­men­to di MySQL DELETE è con un esempio pratico. A tal fine, im­ma­gi­nia­mo che un’impresa abbia un elenco dei clienti, ar­chi­via­to in una tabella de­no­mi­na­ta “Clienti”:

Codice cliente Nome Città Stato
1 Jones Londra Regno Unito
2 Rossi Roma Italia
3 Bianchi Milano Italia
4 Schmitz Vienna Austria
5 Verdi Torino Italia

Quindi, se de­si­de­ria­mo rimuovere il cliente o la cliente “Jones”, uti­liz­zia­mo il comando MySQL DELETE. A tal fine, occorre digitare il seguente comando:

DELETE FROM Clienti
WHERE Nome = "Jones";
bash

La riga cor­ri­spon­den­te viene quindi rimossa dall’elenco dei clienti.

Come svuotare com­ple­ta­men­te la tabella con MySQL DELETE

Come accennato in pre­ce­den­za, potete uti­liz­za­re il comando MySQL DELETE anche per eliminare tutte le righe da una tabella, ma senza eliminare la tabella stessa. Il relativo comando per l’esempio qui sopra è il seguente:

DELETE FROM Clienti;
bash

In questo modo vengono rimosse tutte le voci, ma la tabella e la sua struttura restano intatte.

MySQL DELETE LIMIT

Con la clausola “LIMIT” potete limitare il numero di righe da eliminare con il comando MySQL DELETE. A tal fine, occorre indicare prima al sistema le voci da mettere in ordine. La sintassi di base si presenta così:

DELETE FROM tabella
ORDER BY: condizione
LIMIT: numero;
bash

Per un esempio come l’elenco dei clienti sopra men­zio­na­to, potreste uti­liz­za­re il comando MySQL DELETE con la clausola “LIMIT” nel modo seguente:

DELETE FROM Clienti
ORDER BY Nome
LIMIT 2;
bash

In questo caso il sistema met­te­reb­be tutti i clienti e le clienti in ordine al­fa­be­ti­co in base alla lettera iniziale del cognome, per poi eliminare i primi due.

Un uso al­ter­na­ti­vo del comando MySQL DELETE con “LIMIT” è il seguente:

DELETE FROM Clienti
WHERE Stato = "Italia"
ORDER BY Nome
LIMIT 2;
bash

In questo caso, tutti i clienti e le clienti in Italia ver­reb­be­ro messi in ordine al­fa­be­ti­co e, quindi, le prime due voci ver­reb­be­ro eliminate.

Vai al menu prin­ci­pa­le