Differenza tra DELETE e DROP in SQL

Autore: Laura McKinney
Data Della Creazione: 1 Aprile 2021
Data Di Aggiornamento: 5 Maggio 2024
Anonim
SQL: Delete Vs Truncate Vs Drop
Video: SQL: Delete Vs Truncate Vs Drop

Contenuto


DELETE e DROP sono i comandi utilizzati per rimuovere gli elementi del database. Il comando DELETE è un comando del linguaggio di manipolazione dei dati mentre DROP è un comando del linguaggio di definizione dei dati. Il punto che distingue i comandi DELETE e DROP è quello ELIMINA è usato per rimuovere le tuple da una tabella e FAR CADERE viene utilizzato per rimuovere l'intero schema, tabella, dominio o vincoli dal database. Discutiamo alcune altre differenze tra i comandi DELETE e DROP in SQL con l'aiuto del grafico di confronto di seguito.

Contenuto: CANC Vs DROP

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

Base per il confrontoELIMINAFAR CADERE
Di baseELIMINA rimuove alcune o tutte le tuple da una tabella.DROP può rimuovere l'intero schema, tabella, dominio o vincoli dal database.
linguaggioDELETE è un comando Language Manipulation Language.DROP è un comando Lingua definizione dati.
ClausolaLa clausola WHERE può essere utilizzata insieme al comando DELETE.Nessuna clausola viene utilizzata insieme al comando DROP.
RollbackLe azioni eseguite da DELETE possono essere ripristinate.Le azioni eseguite da DROP non possono essere ripristinate.
SpazioAnche se si eliminano tutte le tuple della tabella utilizzando CANC, lo spazio occupato dalla tabella nella memoria non viene liberato.La tabella eliminata mediante DROP libera il tablespace dalla memoria.


Definizione DELETE

ELIMINA è a Lingua di manipolazione dei dati (DDL) comando. Il comando DELETE viene utilizzato quando si desidera rimuovere alcuni o tutte le tuple da una relazione. Se DOVE La clausola viene utilizzata insieme al comando DELETE, rimuove solo quelle tuple che soddisfano la condizione della clausola WHERE.

Se manca la clausola WHERE dall'istruzione DELETE, per impostazione predefinita tutte le tuple vengono rimosse dalla relazione, sebbene la relazione contenente quelle tuple sia ancora presente nello schema. Non è possibile eliminare un'intera relazione o domini o vincoli utilizzando il comando DELETE.

La sintassi del comando DELETE è la seguente:

DELETE FROM relazione_name DOVE condizione;

Se si collegano due tabelle utilizzando a chiave esterna ed elimina una tupla da una tabella di riferimento, quindi automaticamente anche la tupla dalla tabella di riferimento verrà eliminata per mantenere integrità referenziale.


Per mantenere l'integrità referenziale, DELETE ha due opzioni comportamentali, LIMITARE e CASCATA. RESTRICT rifiuta la cancellazione della tupla se fa riferimento a una tupla di riferimento in un'altra tabella. CASCADE consente la cancellazione della tupla di riferimento che fa riferimento alla tupla da eliminare.

Definizione di DROP

DROP è un Lingua di definizione dei dati (DDL) comando. Il comando DROP rimuove gli elementi denominati dello schema come relazioni, domini o vincoli, puoi persino rimuovere un intero schema usando il comando DROP.

La sintassi del comando DROP è la seguente:

DROP SCHEMA nome_schema RESTRICT;

DROP Table table_name CASCADE;

Il comando DROP ha due opzioni comportamentali denominate CASCATA e LIMITARE. Quando CASCADE viene utilizzato per DROP lo schema, elimina tutti gli elementi correlati come tutte le relazioni nello schema, i domini e i vincoli.

Quando si utilizza CASCADE per rimuovere una relazione (tabella) da uno schema, elimina tutti i vincoli, le viste e anche gli elementi che fanno riferimento alla relazione che viene eliminata.

Nel caso in cui DROP uno Schema utilizzi RESTRICT, il comando DROP viene eseguito solo se gli elementi no in schema sono rimasti. Se si ELIMINA una tabella utilizzando RESTRICT, il comando DROP verrà eseguito solo se non sono presenti elementi in tavolo sono rimasti.

Differenze chiave tra DELETE e DROP in SQL

  1. Il comando DELETE viene utilizzato per rimuovere alcune o tutte le tuple dalla tabella. D'altra parte, il comando DROP viene utilizzato per rimuovere schema, tabella, dominio o Vincoli dal database.
  2. DELETE è un comando Language Manipulation Language mentre, DROP è un comando Language Definition Data.
  3. DELETE può essere utilizzato insieme alla clausola WHERE ma DROP non viene utilizzato insieme a nessun comando.
  4. Le azioni eseguite dal comando DELETE possono essere ripristinate, ma non nel caso del comando DROP.
  5. Poiché il comando DELETE non elimina la tabella, pertanto, non viene liberato spazio, mentre DROP elimina l'intera tabella libera lo spazio di memoria.


Conclusione:

Il comando DELETE viene utilizzato per eliminare le righe all'interno di una tabella e il comando DROP viene utilizzato per eliminare l'intera tabella stessa.