Διαφορά μεταξύ διαγραφής και απόθεσης

Anonim

Delete vs. Drop

Οι εντολές Delete και Drop ανήκουν στις δηλώσεις SQL (Structured Query Language) και είναι που χρησιμοποιούνται σε περίπτωση κατάργησης δεδομένων από μια βάση δεδομένων. Η διαγραφή είναι μια εντολή DML (Language Manipulation Language). Διαγράφει μερικά ή όλα τα δεδομένα από έναν πίνακα σύμφωνα με την προϋπόθεση που έχει ορίσει ο χρήστης. Η εντολή Διαγραφή καταργεί μόνο τις εγγραφές δεδομένων στον πίνακα, αλλά η δομή του πίνακα παρουσιάζει το ίδιο στη βάση δεδομένων. Η εντολή Drop είναι μια εντολή DDL (Γλώσσα ορισμού δεδομένων) και ενεργεί με διαφορετικό τρόπο από την εντολή Διαγραφή. Δεν είναι μια υπό όρους δήλωση, έτσι διαγράφει ολόκληρα δεδομένα από τον πίνακα, επίσης αφαιρεί τη δομή του πίνακα και όλες τις αναφορές στον πίνακα αυτό μόνιμα από τη βάση δεδομένων.

- <->

Διαγράψτε τη δήλωση

Όπως αναφέρθηκε παραπάνω, η εντολή Διαγραφή καταργεί τα δεδομένα από έναν πίνακα βάσει της παρεχόμενης κατάστασης και της ρήτρας όπου χρησιμοποιείται με τη διαγραφή για να καθορίσετε αυτήν την απαιτούμενη προϋπόθεση. Εάν η ρήτρα Όπου δεν αναφέρεται με τη Διαγραφή, όλα τα δεδομένα πίνακα καταργούνται από τον πίνακα. Ωστόσο, στη λειτουργία Διαγραφή, η υπάρχουσα δομή του πίνακα παραμένει ίδια. Επομένως, ο χρήστης δεν χρειάζεται να καθορίσει τη δομή του πίνακα αν θέλει ξανά να ξαναχρησιμοποιήσει τον πίνακα. Δεδομένου ότι η Διαγραφή είναι μια εντολή DML, δεν δεσμεύεται αυτόματα μετά την εκτέλεση. Έτσι, αυτό μπορεί να ανατραπεί για να ακυρώσει την προηγούμενη λειτουργία. Διαφορετικά, η εντολή Commit θα πρέπει να κληθεί να κάνει τις αλλαγές μόνιμες. Κατά την εκτέλεση της εντολής Διαγραφή, καταγράφει μια καταχώρηση στο αρχείο καταγραφής συναλλαγών για κάθε διαγραφή γραμμής. Επομένως, αυτό επηρεάζει την επιβράδυνση της λειτουργίας. Επίσης, δεν ανακατεύει τον χώρο που χρησιμοποιήθηκε μετά την εκτέλεση.

Ακολουθεί η σύνταξη της εντολής Διαγραφή.

ΔΙΑΓΡΑΦΗ ΑΠΟ

ή

DELETE FROM WHERE

Η εντολή Drop

καταργεί όχι μόνο όλες τις εγγραφές πίνακα από τη βάση δεδομένων χωρίς καμία προϋπόθεση, αλλά επίσης καταργεί τη δομή του πίνακα, τα ευρετήρια και τα δικαιώματα πρόσβασης του σχετικού πίνακα από τη βάση δεδομένων μόνιμα. Επομένως, όλες οι σχέσεις για άλλους πίνακες δεν υπάρχουν πλέον και οι πληροφορίες σχετικά με τον πίνακα διαγράφονται από το λεξικό δεδομένων. Έτσι, εάν ο χρήστης θέλει να επαναχρησιμοποιήσει το τραπέζι, πρέπει να καθορίσει ξανά τη δομή του πίνακα και όλες τις άλλες αναφορές στον πίνακα. Drop είναι μια εντολή DDL και μετά την εκτέλεση της εντολής, δεν μπορεί να επαναληφθεί ξανά, επειδή η εντολή Drop χρησιμοποιεί μια αυτόματη δέσμευση. Επομένως, ο χρήστης πρέπει να είναι πολύ προσεκτικός στη χρήση αυτής της εντολής. Η εντολή Drop δεν μπορεί να εφαρμοστεί σε πίνακες συστήματος και επίσης δεν μπορεί να χρησιμοποιηθεί για πίνακες που έχουν περιορισμούς ξένου κλειδιού.

Η εντολή Drop μπορεί να χρησιμοποιηθεί όχι μόνο για πίνακες SQL, αλλά και για βάσεις δεδομένων, προβολές και στήλες πίνακα και όλα τα δεδομένα που αποθηκεύονται σε αυτά τα αντικείμενα χάνονται για πάντα μαζί με τα αντικείμενα.

Ακολουθεί η τυπική σύνταξη για την εντολή Drop.

ΠΙΝΑΚΑΣ DROP

Ποια είναι η διαφορά μεταξύ της διαγραφής και της απόρριψης;

1. Οι εντολές Διαγραφή και Απόρριψη αφαιρούν τα δεδομένα πίνακα από μια βάση δεδομένων.

2. Ωστόσο, η εντολή Διαγραφή εκτελεί διαγραφή με βάση την προϋπόθεση, ενώ η εντολή Απόρριψη διαγράφει ολόκληρες εγγραφές στον πίνακα.

3. Επίσης, η εντολή Διαγραφή καταργεί μόνο τις γραμμές στον πίνακα και διατηρεί τη δομή του πίνακα ίδια, ενώ η εντολή Drop καταργεί όλα τα δεδομένα στον πίνακα και τη δομή του πίνακα, αλλά και αφαιρεί όλες τις άλλες αναφορές από τη βάση δεδομένων.

4. Η διαγραφή είναι μια πρόταση DML, ενώ η Drop είναι μια εντολή DDL. Επομένως, η λειτουργία διαγραφής μπορεί να μετακινηθεί προς τα πίσω και δεν είναι αυτόματη δέσμευση, ενώ η λειτουργία Drop δεν μπορεί να επαναληφθεί καθ 'οιονδήποτε τρόπο, καθώς είναι μια δήλωση αυτόματης δέσμευσης.

5. Η εντολή Drop δεν μπορεί να χρησιμοποιηθεί στους πίνακες στους οποίους έχουν γίνει παραπομπές από τους περιορισμούς του ξένου κλειδιού, ενώ η εντολή Delete μπορεί να χρησιμοποιηθεί αντί αυτού.

6. Η εντολή Drop πρέπει να χρησιμοποιηθεί προσεκτικά με καλή κατανόηση σε σύγκριση με τη δήλωση Delete σε εφαρμογές SQL.