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

Silicon Valley "Silicon Valley" - Gegevensverwijdering