Verschil tussen DELETE en DROP in SQL

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 5 Kunnen 2024
Anonim
Top 4 Dying Programming Languages of 2019 | by Clever Programmer
Video: Top 4 Dying Programming Languages of 2019 | by Clever Programmer

Inhoud


DELETE en DROP zijn de opdrachten die worden gebruikt om de elementen van de database te verwijderen. DELETE commando is een Data Manipulation Language command, terwijl DROP een Data Definition Language Command is. Het punt dat de opdracht DELETE en DROP onderscheidt, is dat DELETE wordt gebruikt om tupels van een tafel te verwijderen en LATEN VALLEN wordt gebruikt om een ​​volledig schema, tabel, domein of beperkingen uit de database te verwijderen. Laten we wat meer verschillen bespreken tussen de opdracht DELETE en DROP in SQL met behulp van onderstaande vergelijkingstabel.

Inhoud: DELETE versus DROP

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingDELETELATEN VALLEN
basis-VERWIJDEREN verwijder enkele of alle tupels van een tafel.DROP kan hele schema's, tabellen, domeinen of beperkingen uit de database verwijderen.
TaalDELETE is een opdracht voor gegevensmanipulatietaal.DROP is een opdracht Data Definition Language.
ClausuleWHERE-component kan worden gebruikt in combinatie met de opdracht DELETE.Er wordt geen clausule gebruikt samen met de opdracht DROP.
TerugrollenActies uitgevoerd door DELETE kunnen worden teruggedraaid.Acties uitgevoerd door DROP kunnen niet worden teruggedraaid.
RuimteZelfs als u alle tupels van de tabel verwijdert met DELETE, wordt de ruimte die door de tabel in het geheugen wordt ingenomen niet vrijgegeven.Tabel verwijderd met DROP maakt de tabelruimte vrij uit het geheugen.


Definitie van VERWIJDEREN

VERWIJDEREN is een Data Manipulatie Taal (DDL) -opdracht. DELETE commando wordt gebruikt wanneer u wilt verwijderen sommige of alle tupels uit een relatie. Als WAAR wordt gebruikt in combinatie met de opdracht DELETE, het verwijdert alleen die tupels die voldoen aan de WHERE-voorwaarde.

Als de clausule WHERE ontbreekt in de instructie DELETE, worden standaard alle tuples uit de relatie verwijderd, hoewel de relatie met die tuples nog steeds in het schema bestaat. U kunt geen volledige relatie of domeinen of beperkingen verwijderen met de opdracht DELETE.

De syntaxis van de opdracht DELETE is als volgt:

VERWIJDER UIT relatie naam WHERE voorwaarde;

Als u twee tabellen koppelt met een vreemde sleutel en verwijder een tupel uit een tabel waarnaar wordt verwezen, dan wordt automatisch de tupel uit de tabel waarnaar wordt verwezen, verwijderd om de referentiële integriteit.


Om referentiële integriteit te behouden, heeft DELETE twee gedragsopties, BEPERKEN en CASCADE. RESTRICT weigert het verwijderen van tuple als er naar wordt verwezen door een referentietuple in een andere tabel. CASCADE staat verwijdering toe van de verwijzende tuple die verwijst naar de tuple die wordt verwijderd.

Definitie van DROP

DROP is een Gegevensdefinitietaal (DDL) -opdracht. Met de opdracht DROP worden de genoemde elementen van het schema verwijderd relaties, domeinen of beperkingen, u kunt zelfs een geheel verwijderen schema met behulp van de opdracht DROP.

De syntaxis van het DROP-commando is als volgt:

DROP SCHEMA schemanaam RESTRICT;

DROP Tabel tabelnaam CASCADE;

De opdracht DROP heeft twee genoemde gedragsopties CASCADE en BEPERKEN. Wanneer CASCADE wordt gebruikt om het schema te DROPEN, worden alle gerelateerde elementen verwijderd, zoals alle relaties in het schema, domeinen en beperkingen.

Wanneer u CASCADE gebruikt om een ​​relatie (tabel) uit een schema te verwijderen, worden alle beperkingen, weergaven en ook de elementen verwijderd die verwijzen naar de relatie die wordt verwijderd.

In het geval dat u een schema DROP met behulp van RESTRICT, wordt de opdracht DROP alleen uitgevoerd als de elementen no in de schema zijn over. Als u een tabel DROP met behulp van RESTRICT, wordt de opdracht DROP alleen uitgevoerd als er geen elementen in de tafel zijn over.

Belangrijkste verschillen tussen DELETE en DROP in SQL

  1. DELETE commando wordt gebruikt om sommige of alle tupels uit de tabel te verwijderen. Aan de andere kant wordt de opdracht DROP gebruikt om een ​​schema, tabel, domein of beperkingen uit de database te verwijderen.
  2. DELETE is een opdracht voor gegevensmanipulatietaal, terwijl DROP een opdracht voor gegevensdefinitietaal is.
  3. DELETE kan samen met de WHERE-component worden gebruikt, maar DROP wordt niet samen met een opdracht gebruikt.
  4. Acties die worden uitgevoerd met de opdracht DELETE kunnen worden teruggedraaid, maar niet in het geval van de opdracht DROP.
  5. Omdat de opdracht DELETE de tabel niet verwijdert, wordt er geen ruimte vrijgemaakt, terwijl DROP de hele tabel verwijdert en geheugenruimte vrijmaakt.


Gevolgtrekking:

De opdracht DELETE wordt gebruikt om de rijen in een tabel te verwijderen en de opdracht DROP wordt gebruikt om de volledige tabel zelf te verwijderen.