5.1 DELETE FROM-verklaring
Wat gemakkelijk te doen is in SQL, is gegevens verwijderen. U kunt absoluut alles heel snel verwijderen en niemand zal u zelfs maar om een bevestiging vragen.
Laten we beginnen met het eenvoudigste scenario: hoe een rij in een tabel te verwijderen .
Dit is het scenario dat u het vaakst zult zien, het is meestal het verwijderen van een specifiek record en de standaardquery ziet er meestal zo uit:
DELETE FROM table
WHERE id = 133;
Dit is de enige query waarbij u de namen van de kolommen niet hoeft op te geven: de gegevens worden immers meteen in rijen verwijderd.
Het tweede scenario is het verwijderen van de rijen die worden gegeven door de id-lijst , ook hier is alles vrij eenvoudig:
DELETE FROM table
WHERE id IN (1, 2, 3, …);
Het derde scenario is het verwijderen van rijen die aan een bepaalde voorwaarde voldoen:
DELETE FROM table
WHERE condition;
Laten we zeggen dat we al onze programmeurs willen ontslaan, dan moeten we een verzoek schrijven zoals:
DELETE FROM employee
WHERE occupation = 'Programmer';
En tot slot, als u alle records wilt verwijderen, kunt u een query als deze schrijven:
DELETE FROM table
Deze eenvoudige query is voldoende om alle records uit een tabel te verwijderen. Overigens is er in dit geval geen Ctrl + Z. Opnames worden eenvoudig verwijderd zonder de mogelijkheid van herstel en dat is alles. Maak dus vaker back-ups .
5.2 Alles verwijderen
Voor snelle verwijdering (om gebruikers hoofdpijn te bezorgen), heeft SQL nog een paar commando's.
Hoe snel alle gegevens in een tabel verwijderen? Gebruik de operator TRUNCATE
:
TRUNCATE TABLE table
Eén typefout in de naam van de tabel - en u krijgt een paar dagen gegevensherstel. Wees blij dat je geen databasebeheerder bent.
Als u niet alleen de gegevens in de tabel wilt verwijderen, maar ook de tabel zelf, dan is hier een operator DROP
voor :
DROP TABLE table
Overigens zijn er vergelijkbare opties met databaseschema's . Als u de database zelf wilt verwijderen, dan:
DROP SCHEME database
of:
DROP DATABASE database
U kunt DROP ook gebruiken om te verwijderen:
- EVENEMENT
- FUNCTIE
- PROCEDURE
- INHOUDSOPGAVE
- WEERGAVE
- TREKKER
En hier zijn een paar interessante verhalen over het verwijderen van gegevens:
Pauze van de dag. GitLab heeft 300 GB aan klantgegevens verwijderd vanwege een systeembeheerdersfout
sudo rm -rf, of Kroniek van het GitLab.com-database-incident vanaf 31/01/2017
GO TO FULL VERSION