MySQL DELETE-Abfrage: So löschen Sie eine Zeile aus der Tabelle

Was ist die DELETE-Abfrage?

MySQL Löschen Mit dem Befehl werden nicht mehr benötigte Zeilen aus den Datenbanktabellen gelöscht. Es löscht die gesamte Zeile aus der Tabelle und gibt die Anzahl der gelöschten Zeilen zurück. Der Befehl „Löschen“ ist praktisch, um temporäre oder veraltete Daten aus Ihrer Datenbank zu löschen.

Die Löschabfrage in MySQL kann in einer einzigen Abfrage mehr als eine Zeile aus einer Tabelle löschen. Dies erweist sich als Vorteil, wenn eine große Anzahl von Zeilen aus einer Datenbanktabelle entfernt wird.

Einmal eine Zeile löschen in MySQL Zeile wurde gelöscht, sie kann nicht wiederhergestellt werden. Es wird daher dringend empfohlen, Datenbanksicherungen zu erstellen, bevor Sie Daten aus der Datenbank löschen. Auf diese Weise können Sie die Datenbank wiederherstellen und die Daten später anzeigen, falls dies erforderlich sein sollte.

So löschen Sie eine Zeile in MySQL

Um eine Zeile zu löschen MySQL, wird die DELETE FROM-Anweisung verwendet:

DELETE FROM `table_name` [WHERE condition];

KLICKEN SIE HIER

  • DELETE FROM `table_name` sagt MySQL Server zum Entfernen von Zeilen aus der Tabelle ..
  • [WHERE-Bedingung] ist optional und wird verwendet, um einen Filter zu setzen, der die Anzahl der von der DELETE-Syntax betroffenen Zeilen einschränkt MySQL Zeilenabfrage.

Besitzt das WHERE-Klausel wird nicht verwendet in der MySQL DELETE-Abfrage, dann werden alle Zeilen in einer bestimmten Tabelle gelöscht.

Beispiel von MySQL Abfrage löschen

Bevor wir detaillierter auf die SQL-Anweisung DELETE eingehen, fügen wir einige Beispieldaten in die Tabelle „Filme“ ein, um damit zu arbeiten.

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);

Durch Ausführen des obigen Skripts werden drei (3) Filme zur Filmtabelle hinzugefügt. Bevor wir mit unserer Lektion fortfahren, werfen wir einen Blick auf alle Filme in unserer Tabelle. Das unten gezeigte Skript erledigt dies.

SELECT * FROM `movies`;

Die Ausführung des obigen Skripts führt zu den folgenden Ergebnissen.

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

Nehmen wir an, dass die Myflix-Videothek „The Great Dictator“ nicht länger an ihre Mitglieder vermieten möchte und sie möchten, dass es aus der Datenbank entfernt wird. Die Film-ID ist 18. Wir können das unten gezeigte Skript verwenden, um eine Zeile aus der Tabelle zu löschen MySQL Beispiel.

DELETE FROM `movies` WHERE `movie_id` = 18;

Ausführen des obigen Skripts in MySQL Werkbank gegen Myflix löscht den Film mit der ID 18 aus der Datenbanktabelle.

Sehen wir uns den aktuellen Status der Filmtabelle an.

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

Anmerkungen:

  • Der Film mit der ID 18 wurde nicht im Abfrageergebnissatz zurückgegeben.
  • Sie können nicht eine einzelne Spalte für eine Tabelle löschen. Sie können eine ganze Zeile löschen.

Nehmen wir an, wir haben eine Liste von Filmen, die wir löschen möchten. Wir können die WHERE-Klausel zusammen mit IN verwenden.

DELETE FROM `movies` WHERE `movie_id`  IN (20,21);

Durch die Ausführung des obigen Skripts werden Filme mit den IDs 20 und 21 aus unserer Filmtabelle gelöscht.

Zusammenfassung

  • Der Befehl Löschen in MySQL, wird verwendet, um nicht mehr benötigte Daten aus einer Tabelle zu entfernen.
  • Die „WHERE-Klausel“ wird verwendet, um die Anzahl der von der DELETE-Abfrage betroffenen Zeilen zu begrenzen MySQL Befehl.
  • Sobald Daten gelöscht wurden, können sie nicht wiederhergestellt werden. Es wird daher dringend empfohlen, vor dem Löschen von Daten Sicherungskopien zu erstellen.