Datu izveidošana un manipulācijas veido datu bāzu pamatu, un mēs to attiecīgi saucam par DDL un DML. DDL ir datu definīcijas valodas saīsinājums. Tas varēja vai nu izveidot, vai pārveidot datu struktūras datu bāzēs, un tos nevarēja izmantot, lai mainītu tabulās esošos datus. Piemēram, mums ir komandas, kas vienkārši izveido tabulu ar norādītajiem tabulas atribūtiem, bet tā nekad tabulā nepievieno nekādas rindas. Bet DML, datu manipulācijas valoda, var tabulās pievienot, dzēst vai modificēt datus. Parasti DDL komandas nodarbojas ar tabulas struktūrām, savukārt DML komandas nodarbojas ar faktiskajiem datiem. Lai tā būtu, kāpēc mēs vienkārši novirzāmies no tēmas “Atšķirība starp saīsināšanu un dzēšanu”? Ir iemesli, kāpēc mēs runājām par DML un DDL. Jūs to saprastu nākamajās diskusijās.
Saīsināšanas komandas mērķis ir izdzēst visu tabulu. Tātad, lietojot komandu Truncate, jūs zaudēsit visus uz tabulas esošos datus, un jums to vajadzētu izmantot piesardzīgi. Paziņojiet mums, kā to izmantot.
Truncate sintakse:
TRUNCATE TABULA tabulas nosaukums;
Šeit jums jānorāda tabulas nosaukums, kas kopumā būtu jāsvītro. Tas nodrošina, ka atmiņā būtu jebkurš galds. Šeit ir Truncate lietošanas piemērs.
Zemāk ir tabula “darbinieks”, un apskatiet tikai tajā esošās datu rindas.
emp-id | emp-vārds | apzīmējums |
1011. lpp | Džeks | Lietvedis |
1012 | Rožaini | Administrators |
1014. gads | Nensija | Finanses |
Tagad ļaujiet mums izdot zemāk esošo komandu uz darbinieku galda.
TRUNCATE TABULA darbinieks;
Šeit ir parādīts iepriekš minētais sintakse, un tajā nav datu.
emp-id | emp-vārds | apzīmējums |
Komandas Dzēst mērķis ir noņemt norādītās rindas no tabulas. Šeit klauzulu “Kur” izmanto šeit, lai norādītu izdzēšamās rindas. Ja mēs nenorādīsim rindas, komanda izdzēsīs visas tabulas rindas. Paskatieties tikai uz tā sintaksi.
Svītrot no darbinieks;
Iepriekš minētā sintakse izdzēš visas tabulas “darbinieks” rindas. Tātad iegūtajā tabulā nebūtu datu.
Svītrot no darbinieks KUR emp-id = 1011;
Šis paziņojums tikai izdzēš vienu rindu, kuras emp-id ir 1011. Tātad iegūtā tabula būtu šāda.
emp-id | emp-vārds | apzīmējums |
1012 | Rožaini | Administrators |
1014. gads | Nensija | Finanses |
Saīsināt -> noņemiet no tabulas visus datus -> Tabulas telpa ir atbrīvota.
Dzēst -> Kopēt oriģinālos tabulas datus uz atcelšanas vietu -> izdzēst norādītos datus / visu tabulu -> Tabulas telpa tiek atbrīvota, bet atgriezeniskā telpa ir aizpildīta.
Saīsināt ir DDL komanda, sprūda šeit nav atļauta. Bet Dzēst ir DML komanda, šeit ir atļauti trigeri.
Tātad tās ir atšķirības un ļaujiet mums aplūkot tabulas veidā.
S.Nē | Atšķirības | Saīsināt | Dzēst |
1. | DDL vai DML? | Tas ir DDL un darbojas datu struktūras līmenī. Citi DDL piemēri ir CREATE un ALTER. | Tā ir DML komanda, un tā darbojas ar tabulas datiem. DML nozīmē datu manipulācijas valodu. Tādas komandas kā SELECT, UPDATE un INSERT ir lieliski DML piemēri. DML nozīmē datu manipulācijas valodu. |
2. | Kā tas darbojas? | Tiklīdz mēs izdodam komandu Truncate, tā vienkārši meklē norādīto tabulu. Tad tas pilnībā noņem visus datus no atmiņas. | Šajā gadījumā sākotnējie tabulas dati tiek kopēti telpā, ko sauc par “Atpakaļ” vietu pirms faktiskās datu apstrādes. Tad izmaiņas tiek veiktas faktiskajā tabulas datu telpā. |
3. | Atgriezeniskā saite | Komanda Truncate nekad neizmanto atcelšanas vietu, un mēs nevarējām atgriezties pie sākotnējiem datiem. Atcelšanas vieta ir ekskluzīva, un tā tiek aizņemta, izdodot DML komandas. | Komanda Dzēst izmanto atcelšanas vietu, un, lai attiecīgi pieņemtu vai atceltu izmaiņas, mēs varētu izmantot “Commit” vai “RollBack”..
|
4. | Trigeri | Saīsināt ir DDL komanda, trigeri nav atļauti. | Dzēst ir DML komanda, šeit ir atļauti trigeri.
|
5. | Kurš ir ātrāks? | Tas varētu noņemt visus datus, un nav jāpārbauda, vai nav atbilstošu nosacījumu. Arī oriģinālie dati netiek kopēti atcelšanas telpā, un tas ietaupa daudz laika. Šie divi faktori liek Truncate darboties ātrāk nekā Dzēst.
| Tas izmanto atcelšanas vietu, un vienmēr par to ir jāsaglabā oriģinālie dati. Tas ir papildu slogs, un tas, savukārt, prasa daudz laika nekā nogrieznis. |
6. | Vai mēs varētu izmantot klauzulu WHERE?? | Tā kā Truncate nekad nemeklē atbilstošus nosacījumus un tas tikai noņem visas rindas, šeit nevarējām izmantot klauzulu “Kur”.. | Bet mēs vienmēr varētu precizēt nosacījumu, izmantojot komandas “Dzēst” klauzulu “Dzēst”. |
7. | Kas aizņem vairāk vietas? | Saīsinājums nelietos atcelšanas vietu, un tas saglabā šo atmiņu. | Tam nepieciešama rezerves kopija atgriezeniskās vietas veidā, un līdz ar to tai ir nepieciešams vairāk atmiņas nekā saīsinātai vietai. |
Zinot atšķirības starp diviem subjektiem, tiek paplašinātas zināšanas par abiem! Jūs esat nolaidies uz pareizā ceļa, t.i., tīmekļa lapas, lai saprastu atšķirības, it īpaši starp saīsināšanas un dzēšanas komandām. Es ceru, ka jums tagad ir skaidra tās atšķirības un paziņojiet mums, vai mēs būtu palīdzējuši jums to saprast. Jūs varētu arī mums palīdzēt norādīt, kas vēl ir palicis!