Delete vs Drop
Beide Delete- en Drop-opdragte behoort aan SQL (Structured Query Language)-stellings, en hulle word gebruik in die geval van die verwydering van data van 'n databasis. Delete is 'n DML (Data Manipulation Language) opdrag. Dit vee sommige of al die data uit 'n tabel uit volgens die toestand wat die gebruiker gespesifiseer het. Delete-stelling verwyder slegs die datarekords in die tabel, maar die tabelstruktuur vertoon dieselfde in die databasis. Drop-opdrag is 'n DDL (Data Definition Language)-stelling, en dit tree op 'n ander manier op as die Delete-opdrag. Dit is nie 'n voorwaardelike gebaseerde stelling nie, so vee hele data uit die tabel uit, dit verwyder ook die tabelstruktuur en al die verwysings na daardie tabel permanent uit die databasis.
Vee stelling uit
Soos hierbo genoem, verwyder Delete-stelling data uit 'n tabel gebaseer op die voorwaarde wat verskaf word, en die Where-klousule word saam met Delete gebruik om hierdie vereiste voorwaarde te spesifiseer. As die Where-klousule nie met Delete gestel word nie, word al die tabeldata uit die tabel verwyder. In die Delete-bewerking bly die bestaande tabelstruktuur egter dieselfde. Gebruiker hoef dus nie die tabelstruktuur te definieer as hy/sy die tabel weer wil gebruik nie. Aangesien Delete 'n DML-opdrag is, verbind dit nie outomaties na uitvoering nie. Dit kan dus teruggerol word om die vorige bewerking ongedaan te maak. Andersins moet die Commit-verklaring opgeroep word om die veranderinge permanent te maak. Terwyl die Delete-stelling uitgevoer word, teken dit 'n inskrywing in die transaksielog vir elke ryskraping aan. So, dit beïnvloed om die operasie te vertraag. Dit ken ook nie die spasie wat gebruik word na uitvoering toe nie.
Volgende is die sintaksis vir Delete-stelling.
DELETE FROM
of
DELETE FROM WHERE
Druppelverklaring
Drop-stelling verwyder nie net al die tabelrekords van die databasis sonder enige voorwaarde nie, maar dit verwyder ook die tabelstruktuur, integriteitsbeperkings, indekse en toegangsregte van die relevante tabel permanent van die databasis. Dus, al die verwantskappe vir ander tabelle bestaan ook nie meer nie, en inligting oor die tabel word uit die datawoordeboek verwyder. Dus, as die gebruiker die tabel wil hergebruik, moet hy/sy die tabelstruktuur en alle ander verwysings na die tabel weer definieer. Drop is 'n DDL-opdrag en na die uitvoering van die opdrag kan dit nie weer teruggerol word nie, want Drop-opdrag gebruik 'n outomatiese verbintenis. Gebruiker moet dus baie versigtig wees met die gebruik van hierdie opdrag. Losstelling kan nie op stelseltabelle toegepas word nie, en dit kan ook nie gebruik word vir die tabelle wat vreemde sleutelbeperkings het nie.
Drop-opdrag kan nie net vir SQL-tabelle gebruik word nie, maar ook vir databasisse, aansigte en tabelkolomme, en al die data wat in hierdie voorwerpe gestoor is, gaan vir ewig verlore saam met die voorwerpe.
Volgende is die tipiese sintaksis vir Drop-opdrag.
DROP TABLE
Wat is die verskil tussen Delete en Drop?
1. Delete and Drop-opdragte verwyder tabeldata uit 'n databasis.
2. Maar Delete-stelling voer voorwaardelike uitvee uit, terwyl Drop-opdrag die hele rekords in die tabel uitvee.
3. Ook, Delete-stelling verwyder slegs die rye in die tabel en dit behou die tabelstruktuur as dieselfde, terwyl Drop-opdrag al die data in die tabel en die tabelstruktuur verwyder, en dit verwyder ook alle ander verwysings van die databasis.
4. Delete is 'n DML-stelling, terwyl Drop 'n DDL-opdrag is. Dus, Delete-operasie kan teruggerol word en dit is nie outomaties toegepas nie, terwyl Drop-bewerking op enige manier nie teruggerol kan word nie, aangesien dit 'n outo-toegewyde stelling is.
5. Los-opdrag kan nie gebruik word op die tabelle waarna verwys is deur vreemde sleutelbeperkings nie, terwyl Delete-opdrag in plaas daarvan gebruik kan word.
6. Drop-opdrag moet versigtig gebruik word met 'n goeie begrip in vergelyking met die Delete-stelling in SQL-toepassings.