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.