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.