MySQL Query DELETE: come eliminare una riga dalla tabella
Cos'è la query DELETE?
MySQL Elimina Il comando viene utilizzato per eliminare le righe che non sono più necessarie dalle tabelle del database. Elimina l'intera riga dalla tabella e restituisce il conteggio delle righe eliminate. Il comando Elimina è utile per eliminare dati temporanei o obsoleti dal database.
La query Elimina in MySQL può eliminare più di una riga da una tabella in una singola query. Ciò si rivela vantaggioso quando si rimuovono grandi numeri di righe da una tabella di database.
Una volta inserita una riga Elimina MySQL row è stata eliminata, non può essere recuperata. Si consiglia pertanto vivamente di effettuare backup del database prima di eliminare qualsiasi dato dal database. Ciò può consentire di ripristinare il database e visualizzare i dati in seguito, se necessario.
Come eliminare una riga in MySQL
Per eliminare una riga in MySQL, viene utilizzata l'istruzione DELETE FROM:
DELETE FROM `table_name` [WHERE condition];
QUI
- DELETE FROM `nome_tabella` dice MySQL server per rimuovere righe dalla tabella ..
- [Condizione WHERE] è facoltativa e viene utilizzata per inserire un filtro che limita il numero di righe interessate dalla sintassi DELETE MySQL interrogazione di riga.
Se l' Dove la clausola non è utilizzato in MySQL ELIMINA query, tutte le righe di una determinata tabella verranno eliminate.
Esempio di MySQL Elimina domanda
Prima di entrare in una discussione più dettagliata sull'istruzione SQL DELETE, inseriamo alcuni dati di esempio nella tabella dei film con cui lavorare.
INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7); INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8); INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);
L'esecuzione dello script precedente aggiunge tre (3) film nella tabella dei film. Prima di proseguire nella lezione, mettiamo tutti i film nella nostra tabella. Lo script mostrato di seguito fa questo.
SELECT * FROM `movies`;
L'esecuzione dello script sopra riportato produce i seguenti risultati.
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
18 | The Great Dictator | Chalie Chaplie | 1920 | 7 |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
Supponiamo che la videoteca Myflix non voglia più affittare “Il Grande Dittatore” ai suoi membri e voglia rimuoverlo dal database. Il suo ID film è 18, possiamo utilizzare lo script mostrato di seguito per eliminare la riga dalla tabella MySQL esempio.
DELETE FROM `movies` WHERE `movie_id` = 18;
Eseguendo lo script precedente in MySQL Banco di lavoro contro Myflix elimina il film con ID 18 dalla tabella del database.
Vediamo lo stato attuale della tabella dei film.
SELECT * FROM `movies`;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
NOTA:
- il film con ID 18 non è stato restituito nel set di risultati della query.
- non è possibile eliminare una singola colonna per una tabella. Puoi eliminare un'intera riga.
Diciamo che abbiamo un elenco di film che vogliamo eliminare. Possiamo usare la clausola WHERE insieme a IN.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
L'esecuzione dello script precedente elimina i film con ID 20 e 21 dalla nostra tabella dei film.
Sommario
- Il comando Elimina in MySQL, viene utilizzato per rimuovere i dati che non sono più necessari da una tabella.
- La "clausola WHERE" viene utilizzata per limitare il numero di righe interessate dalla query DELETE MySQL comando.
- Una volta cancellati i dati non possono essere recuperati, si consiglia quindi vivamente di effettuare dei backup prima di cancellare i dati.