Diferența dintre Truncate și Ștergere

Autor: Laura McKinney
Data Creației: 2 Aprilie 2021
Data Actualizării: 13 Mai 2024
Anonim
Lec-53 Difference between Delete, Drop & Truncate in SQL | DBMS
Video: Lec-53 Difference between Delete, Drop & Truncate in SQL | DBMS

Conţinut

Diferența principală

DELETE și TRUNCATE sunt doi termeni folosiți în Structurad Query Language (SQL) pentru a elimina înregistrarea sau datele dintr-un tabel. Deși rezultatul final al ambelor comenzi este același, dar există și unele diferențe între aceste două, care sunt importante de înțeles. Principala diferență dintre DELETE și TRUNCATE este că DELTE este o comandă Data Manipulation Language (DML), în timp ce TRUNCATE este o comandă Data Definition Language (DDL).


Ce este TRUNCATE?

TRUNCATE este, de asemenea, o operație înregistrată. Instrucțiunea TRUNCATE TABLE este o comandă DDL în SQL care marchează extinderile unui tabel pentru anulare. Ca urmare a acestei operațiuni, toate datele din tabel elimină instantaneu, ocolind de obicei o serie de mecanisme de aplicare a integrității. A fost introdus în standardul SQL: 2008. Instrucțiunea „TRUNCATE TABLA mytable” este logic echivalentă cu instrucțiunea „DELETE FROM mytable” fără o clauză „WHERE”. „TRUNCATE TABLE” elimină instantaneu toate datele dintr-un tabel eliminând paginile de date utilizate de tabel. Aceasta reduce cheltuielile generale ale resurselor de logare, precum și numărul de blocări necesare. Nu putem specifica clauza „WHERE” într-o declarație „TABLA DE TRUNCARE”, deoarece este totul sau nimic.

Ce este DELETE?

În baza de date SQL, DELETE înseamnă o declarație care elimină una sau mai multe înregistrări sau date dintr-un tabel. Un subset poate fi definit pentru eliminare / ștergere folosind o condiție pentru a elimina toate înregistrările. Unele sisteme de gestionare a bazelor de date (DBM), cum ar fi MySQL, permit ștergerea rândurilor din diverse tabele cu o instrucțiune DELETE, care se mai numește DELETE cu mai multe tabele. Sintaxa declarației DELETE este DELETE FROM nume_tabelă . Acum, orice rând care se potrivește cu condiția „WHERE” va fi șters din tabel. Dacă clauza „WHERE” este omisă din instrucțiune, toate rândurile din tabel sunt șterse. Deci, declarația „Șterge” trebuie utilizată cu prudență. Mai mult, declarația „Șterge” nu returnează niciun rând; adică nu va genera un set de rezultate.


Diferențele cheie

  1. DELETE este o comandă Data Manipulation Language (DML), în timp ce TRUNCATE este o comandă Data Definition Language (DDL).
  2. TRUNCATE este mult mai rapid, comparativ cu DELETE, deoarece șterge instantaneu toate datele.
  3. Condiția „UNDE” este necesară în DELETE. . Dacă clauza „WHERE” este omisă din instrucțiune, toate rândurile din tabel sunt șterse. Dar nu putem specifica clauza „UNDE” într-o declarație „TABLA DE TRUNCARE”, întrucât este totul sau nimic.
  4. DELETE elimină unele sau toate rândurile dintr-o tabelă în timp ce TRUNCATE elimină toate rândurile.
  5. DELETE determină să se declanșeze toate declanșatoarele de pe masă, în timp ce nu sunt declanșate declanșatoarele în timpul funcționării TRUNCATE, deoarece nu se aplică pe rândurile individuale.
  6. Ștergerea poate fi utilizată cu vizualizări indexate, în timp ce TRUNCATE nu poate fi utilizată cu vizualizări indexate.
  7. DELETE este executat folosind un blocaj de rând și fiecare rând din tabel este blocat pentru ștergere, în timp ce TRUNCATE este executat folosind o blocare de masă și toată tabela este blocată pentru a elimina toate înregistrările.

cri criul ete un mediu de comunicare umană care reprezintă limbajul și emoția cu emne și imboluri. În majoritatea limbilor, crierea ete o completare a vorbirii au a limbii vorbite. crierea nu e...

Pace Pacea ete conceptul de armonie și abența otilității. În en comportamental, pacea ete lipa conflictului și libertatea de frica de violență între indivizi și grupuri ociale eterogene. D...

Posturi Fascinante