Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abfrage löschen, um Zeilen in MySQL zu löschen

Dieses Tutorial ist Teil der Reihe Learn Basic SQL Queries Using MySQL. In diesem Tutorial werden wir SQL-Abfragen besprechen, um die Zeilen oder Daten einer Tabelle in MySQL zu löschen.

Abfrage löschen

Der Befehl LÖSCHEN kann verwendet werden, um Zeilen einer Tabelle zu löschen oder zu entfernen. Der DELETE-Befehl ist irreversibel, daher müssen wir ihn vorsichtig verwenden. Falls Sie remote bei der Datenbank angemeldet sind, benötigen Sie auch das DELETE-Privileg für die Tabelle, um die Zeilen aus einer Tabelle zu löschen.

# DELETE - Syntax
DELETE FROM `table_name` WHERE <single or multiple filter conditions>;

Erklärung der Abfrage

Der MySQL-Befehl DELETE kann verwendet werden, um Zeilen oder Daten des angegebenen Tabellennamens zu löschen, wobei der Name der Tabelle obligatorisch und die WHERE-Klausel optional ist.

Wir müssen mindestens eine Bedingung mit der WHERE-Klausel angeben, damit die Zeilen gelöscht werden können, sonst wird die gesamte Tabelle gelöscht. Alle Zeilen der Tabelle erhält gelöscht ohne Bedingung.

Beispiele

Dieser Abschnitt enthält Beispiele zum Löschen von Zeilen der Tabelle mit dem Befehl DELETE. Verwenden Sie die unten aufgeführte Abfrage, um die Benutzertabelle mit den Spalten „ID“, „Vorname“, „Nachname“ und „Aktiv“ zum Speichern von Benutzerdaten zu erstellen.

# Create the User Table
CREATE TABLE `enterprise`.`user` (
`user_id` BIGINT NOT NULL,
`first_name` VARCHAR(45) ,
`last_name` VARCHAR(45),
`active` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`));

Die unten genannte Abfrage kann verwendet werden, um Daten in die Benutzertabelle einzufügen.

# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
( 1, 'John', 'Smith', 1 ),
( 2, 'Rick', 'Jones', 1 ),
( 3, 'Catherine', 'Ponting', 0 ),
( 4, 'Harsh', 'Upadhyay', 1 ),
( 5, 'Tajwinder', 'Singh', 0 );

Die oben erwähnte Abfrage fügt 5 Zeilen in die Tabelle ein, die die Spalten ID, Vorname, Nachname und Aktiv enthalten, um 5 verschiedene Benutzer darzustellen.

Nun löschen wir die von uns eingefügten Daten in der Benutzertabelle. Dies kann mit dem DELETE-Befehl wie unten gezeigt erfolgen.

# DELETE - Delete all the inactive users
DELETE FROM `user` WHERE `active` = 0;

# Result
1 John Smith 1
2 Rick Jones 1
4 Harsh Upadhyay 1


# DELETE - Remove selective users
DELETE FROM `user` WHERE `user_id` = 1;
DELETE FROM `user` WHERE `user_id` IN( 2, 4 );

# Result - All rows deleted

Die oben genannten Abfragen löschen die Zeilen aus der Benutzertabelle mit der WHERE-Klausel. Die Tabellenzeilen werden gelöscht, falls die Zeile die angegebenen Bedingungen erfüllt.

Führen Sie nun erneut die INSERT-Abfrage aus, um die Testdaten einzufügen. Wir können Zeilen auch mit mehreren Bedingungen löschen, wie unten gezeigt.

# DELETE - Delete inactive users using first name
DELETE FROM `user` WHERE `first_name` = 'Catherine' AND `active` = 0;

# Result
1 John Smith 1
2 Rick Jones 1
4 Harsh Upadhyay 1
5 Tajwinder Singh 0

So können wir die in den MySQL-Tabellen gespeicherten Daten löschen.