Come rimuovere le voci da una tabella con MySQL DELETE
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 strutturare i vostri dati e ad archiviarli in modo chiaro. Ogni tanto è necessario eliminare dei dati per tenere sempre aggiornato il sistema di gestione di database e le voci in esso memorizzate. Il comando del software adatto a questo scopo è MySQL DELETE, una funzione che vi permette di definire con precisione il record di dati da eliminare. Per farlo, dovete indicare i dati interessati, aggiungendo una nota per specificare la tabella in cui effettuare l’eliminazione.
La sintassi di MySQL DELETE
Bastano poche parole per descrivere la sintassi di base di MySQL DELETE. Se state imparando a utilizzare 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 importanti informazioni al sistema. Il comando si presenta così:
DELETE FROM tabella
WHERE condizione;
bashL’informazione “FROM” serve a indicare al sistema la tabella in cui eliminare il record di dati. “WHERE” permette di specificare la condizione che un record di dati deve rispettare per essere rimosso. Se si tralascia la condizione “WHERE”, viene eliminata l’intera riga.
Esempio con MySQL DELETE
Il modo più semplice per capire il funzionamento di MySQL DELETE è con un esempio pratico. A tal fine, immaginiamo che un’impresa abbia un elenco dei clienti, archiviato in una tabella denominata “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 desideriamo rimuovere il cliente o la cliente “Jones”, utilizziamo il comando MySQL DELETE. A tal fine, occorre digitare il seguente comando:
DELETE FROM Clienti
WHERE Nome = "Jones";
bashLa riga corrispondente viene quindi rimossa dall’elenco dei clienti.
Come svuotare completamente la tabella con MySQL DELETE
Come accennato in precedenza, potete utilizzare 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;
bashIn 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;
bashPer un esempio come l’elenco dei clienti sopra menzionato, potreste utilizzare il comando MySQL DELETE con la clausola “LIMIT” nel modo seguente:
DELETE FROM Clienti
ORDER BY Nome
LIMIT 2;
bashIn questo caso il sistema metterebbe tutti i clienti e le clienti in ordine alfabetico in base alla lettera iniziale del cognome, per poi eliminare i primi due.
Un uso alternativo del comando MySQL DELETE con “LIMIT” è il seguente:
DELETE FROM Clienti
WHERE Stato = "Italia"
ORDER BY Nome
LIMIT 2;
bashIn questo caso, tutti i clienti e le clienti in Italia verrebbero messi in ordine alfabetico e, quindi, le prime due voci verrebbero eliminate.