De SQL DELETE-instructie wordt gebruikt om specifieke rijen uit een tabel te verwijderen terwijl de tabelstructuur intact blijft. Het verschilt van DROP, waarbij de hele tabel wordt verwijderd.
Java vervangt alles
- Het verwijdert rijen op basis van voorwaarden.
- Behoudt tabelschemabeperkingen en indexen.
- Kan een enkele rij of alle rijen verwijderen.
Voorbeeld: Eerst zullen we dat doen creëren een demo SQL-database en -tabel waarop we de SQL DELETE-opdracht zullen gebruiken.
Vraag:
DELETE FROM Employees
WHERE EmployeeID = 5;
Uitgang:
- Met deze query wordt de rij verwijderd uit de tabel Werknemers waarbij de EmployeeID 5 is.
- Alleen dat specifieke record wordt verwijderd; alle andere rijen blijven ongewijzigd.
Syntaxis:
DELETE FROM table_name
WHERE some_condition;
- Sommige_conditie: Een voorwaarde die wordt gebruikt om de rijen te filteren die u wilt verwijderen.
- tabelnaam: De naam van de tabel waaruit u de rijen wilt verwijderen.
Opmerking: We kunnen enkele of meerdere records verwijderen met behulp van de WHERE-clausule; als dit wordt weggelaten, worden alle records in de tabel verwijderd.
Voorbeelden van SQL DELETE-instructie
Stel dat we in SQL een tabel hebben gemaakt met de naam GFG_Employee, die de persoonlijke gegevens van de werknemer bevat, inclusief de ID-naam, e-mailadres en afdeling enz., zoals hieronder weergegeven.
MAAK TABEL GFG_Employees (
id INT PRIMAIRE SLEUTEL
naam VARCHAR (20)
e-mail VARCHAR (25)
afdeling VARCHAR(20)
);
INSERT INTO GFG_Employees (ID-naam e-mailafdeling) WAARDEN
(1 'Jessie' '[email protected]' 'Ontwikkeling')
(2 'Praveen' '[email protected]' 'HR')
(3 'Kan' '[email protected]' 'Verkoop')
(4 'Rithvik' '[email protected]' 'IT')
(5 'Suraj' '[email protected]' 'Kwaliteitsborging')
(6 'Om' '[email protected]' 'IT')
(7 'Naruto' '[email protected]' 'Ontwikkeling');
Selecteer * Van GFG_Employees
Uitgang:
verschil tussen array en arraylist
Voorbeeld 1: Eén record verwijderen
We kunnen de DELETE-instructie met een voorwaarde gebruiken om een specifieke rij uit een tabel te verwijderen. De WAAR -clausule zorgt ervoor dat alleen het bedoelde record wordt verwijderd. We kunnen de records met de naam Rithvik verwijderen met behulp van de onderstaande query:
Vraag:
DELETE FROM GFG_Employees
WHERE NAME = 'Rithvik';
Uitgang:
Voorbeeld 2: Meerdere records verwijderen
Om meerdere records te verwijderen, kunt u een voorwaarde opgeven die aan meerdere rijen voldoet. Laten we de rijen verwijderen uit de tabel GFG_Employees waarbij de afdeling 'Ontwikkeling' is. Hierdoor worden twee rijen verwijderd (de eerste rij en de zevende rij).
Vraag:
DELETE FROM GFG_Employees
WHERE department = 'Development';
Uitvoer
Voorbeeld 3: verwijder alle records uit een tabel
Als we alle records uit de tabel moeten verwijderen, kunnen we de WHERE-clausule weglaten of als alternatief de DELETE-instructie gebruiken met een asterisk (*) om alle rijen aan te duiden.
Vraag:
DELETE FROM GFG_Employees;
Or
DELETE * FROM GFG_Employees;
Uitgang:
Alle records in de tabel worden verwijderd. Er zijn geen records meer om weer te geven. De tabel GFG_Employees wordt leeg.
DELETE-bewerkingen ongedaan maken
Omdat de DELETE-instructie een DML-bewerking is, kan deze worden teruggedraaid wanneer deze in een instructie wordt uitgevoerd. Als u per ongeluk records verwijdert of het proces moet herhalen, kunt u de ROLLBACK commando.
sterpatroon afdrukken
Vraag:
START TRANSACTION;
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;
Uitleg: Het ROLLBACK-commando maakt de wijzigingen ongedaan die door de DELETE-instructie zijn aangebracht, waardoor de records die tijdens de transactie zijn verwijderd effectief worden hersteld.
Quiz maken