Die SQL DELETE-Anweisung wird verwendet, um bestimmte Zeilen aus einer Tabelle zu entfernen und gleichzeitig die Tabellenstruktur intakt zu halten. Es unterscheidet sich von DROP, bei dem die gesamte Tabelle gelöscht wird.
- Es entfernt Zeilen basierend auf Bedingungen.
- Behält Tabellenschema-Einschränkungen und Indizes bei.
- Kann eine einzelne Zeile oder alle Zeilen löschen.
Beispiel: Zuerst werden wir es tun erstellen eine Demo-SQL-Datenbank und -Tabelle, für die wir den SQL-Befehl DELETE verwenden werden.
in Java
Abfrage:
DELETE FROM Employees
WHERE EmployeeID = 5;
Ausgabe:
- Diese Abfrage löscht die Zeile aus der Tabelle „Employees“, in der die EmployeeID 5 ist.
- Nur dieser spezifische Datensatz wird entfernt; alle anderen Zeilen bleiben unverändert.
Syntax:
DELETE FROM table_name
WHERE some_condition;
- Some_condition: Eine Bedingung zum Filtern der Zeilen, die Sie löschen möchten.
- Tabellenname: Der Name der Tabelle, aus der Sie die Zeilen löschen möchten.
Notiz: Mit der WHERE-Klausel können wir einzelne oder mehrere Datensätze löschen; Wenn es weggelassen wird, werden alle Datensätze in der Tabelle entfernt.
Beispiele für SQL-DELETE-Anweisungen
Angenommen, wir haben in SQL eine Tabelle mit dem Namen GFG_Employee erstellt, die die persönlichen Daten des Mitarbeiters enthält, einschließlich seines ID-Namens, seiner E-Mail-Adresse, seiner Abteilung usw., wie unten gezeigt.
TABELLE GFG_Employees ERSTELLEN (
id INT PRIMÄRSCHLÜSSEL
Name VARCHAR (20)
E-Mail VARCHAR (25)
Abteilung VARCHAR(20)
);
INSERT INTO GFG_Employees (ID-Name E-Mail-Abteilung) VALUES
(1 'Jessie' '[email protected]' 'Entwicklung')
(2 'Praveen' '[email protected]' 'HR')
(3 „Kann“, „[email protected]“, „Verkäufe“)
(4 'Rithvik' '[email protected]' 'IT')
(5 „Suraj“, „[email protected]“, „Qualitätssicherung“)
(6 'Om' '[email protected]' 'IT')
(7 „Naruto“, „[email protected]“, „Entwicklung“);
Wählen Sie * Von GFG_Employees aus
Ausgabe:
Beispiel 1: Einzelnen Datensatz löschen
Wir können die DELETE-Anweisung mit einer Bedingung verwenden, um eine bestimmte Zeile aus einer Tabelle zu löschen. Der WO Die Klausel stellt sicher, dass nur der vorgesehene Datensatz entfernt wird. Wir können die Datensätze mit dem Namen Rithvik löschen, indem wir die folgende Abfrage verwenden:
Abfrage:
DELETE FROM GFG_Employees
WHERE NAME = 'Rithvik';
Ausgabe:
Beispiel 2: Mehrere Datensätze löschen
Um mehrere Datensätze zu löschen, können Sie eine Bedingung angeben, die auf mehrere Zeilen zutrifft. Löschen wir die Zeilen aus der Tabelle „GFG_Employees“, in der die Abteilung „Entwicklung“ lautet. Dadurch werden zwei Zeilen gelöscht (die erste Zeile und die siebte Zeile).
Abfrage:
DELETE FROM GFG_Employees
WHERE department = 'Development';
Ausgabe
Beispiel 3: Alle Datensätze aus einer Tabelle löschen
Wenn wir alle Datensätze aus der Tabelle löschen müssen, können wir die WHERE-Klausel weglassen oder alternativ die DELETE-Anweisung mit einem Sternchen (*) verwenden, um alle Zeilen zu kennzeichnen.
Abfrage:
DELETE FROM GFG_Employees;
Or
DELETE * FROM GFG_Employees;
Ausgabe:
wie viele null für eine million
Alle Datensätze in der Tabelle werden gelöscht, es sind keine Datensätze mehr zur Anzeige vorhanden. Die Tabelle GFG_Employees wird leer.
Rollback von DELETE-Vorgängen
Da es sich bei der DELETE-Anweisung um eine DML-Operation handelt, kann sie zurückgesetzt werden, wenn sie in einer Anweisung ausgeführt wird. Wenn Sie versehentlich Datensätze löschen oder den Vorgang wiederholen müssen, können Sie die verwenden ROLLBACK Befehl.
Abfrage:
START TRANSACTION;
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;
Erläuterung: Der ROLLBACK-Befehl macht die durch die DELETE-Anweisung vorgenommenen Änderungen rückgängig und stellt effektiv die Datensätze wieder her, die während der Transaktion gelöscht wurden.
Quiz erstellen