Dataskabelse og manipulation danner grundlaget for databaser, og vi kalder det henholdsvis DDL og DML. En DDL er en forkortelse for Data Definition Language. Det kunne enten oprette eller ændre datastrukturer i databaserne, og de kunne ikke bruges til at ændre de data, der findes i tabellerne. For eksempel har vi kommandoer, der bare opretter en tabel med de specificerede tabelattributter, men den tilføjer aldrig nogen rækker i tabellen. Men en DML, Data Manipulation Language, er i stand til at tilføje, slette eller ændre data i tabellerne. Som en generel regel omhandler DDL-kommandoerne tabellestrukturer, mens DML-kommandoerne omhandler de faktiske data. Lad det være, hvorfor afviger vi bare fra emnet ”Forskel mellem afkort og slet”? Der er grunde til, at vi talte om DML og DDL. Du forstår det i den kommende diskussion.
Formålet med en trunkeringskommando er at slette hele tabellen. Så når du bruger en Trunkering-kommando, mister du alle data på bordet, og du skal være forsigtig med at bruge dem. Lad os vide, hvordan vi bruger det.
Syntaks for Trunkering:
TRUNCATE BORD tabel-navn;
Her skal du specificere navnet på den tabel, der skal slettes i det hele. Dette sikrer, at der er et bord der sidder i hukommelsesområdet. Her er et eksempel på brug af Trunkering.
Nedenfor er tabellen 'medarbejder' og se bare på rækkerne med data deri.
emp-id | EMP-navn | udpegning |
1011 | donkraft | Ekspedient |
1012 | Rosy | Admin |
1014 | Nancy | Finansiere |
Lad os nu udstede kommandoen nedenfor på medarbejderbordet.
TRUNCATE BORD medarbejder;
Her er resultatet af ovenstående syntaks, og der er ingen data i den.
emp-id | EMP-navn | udpegning |
Formålet med en Slet-kommando er at fjerne de specificerede rækker fra tabellen. Her bruges 'Hvor' -bestemmelsen her til at specificere de rækker, der skal slettes. Når vi ikke specificerer rækkerne, vil kommandoen slette alle rækkerne i tabellen. Bare se på syntaks af det.
SLET FRA medarbejder;
Ovenstående syntaks sletter alle rækker fra 'medarbejder'-tabellen. Så den resulterende tabel indeholder ingen data.
SLET FRA medarbejder HVOR emp-id = 1011;
Denne erklæring sletter bare en enkelt række, hvis emp-id er 1011. Således vil den resulterende tabel være som nedenfor.
emp-id | EMP-navn | udpegning |
1012 | Rosy | Admin |
1014 | Nancy | Finansiere |
Trunkér -> fjern hele data fra tabellen -> Tabelplads er frigivet nu.
Slet -> Kopier de originale tabeldata til Roll Back space -> slet de specificerede data / hele tabellen -> Table space er frigivet, men Roll Back plads er udfyldt.
Trunkering er en DDL-kommando, udløseren er ikke tilladt her. Men en Slet er en DML-kommando, triggere er tilladt her.
Så det er forskellene, og lad os se på i tabelform.
S.No | Forskelle i | Trunkér | Slet |
1. | DDL eller DML? | Det er en DDL, og den fungerer på datastrukturniveau. Andre eksempler på DDL er CREATE og ALTER. | Det er en DML-kommando, og den fungerer på tabeldataene. DML står for Data Manipulation Language. Kommandoer som SELECT, UPDATE og INSERT er perfekte eksempler på en DML. DML står for Data Manipulation Language. |
2. | Hvordan virker det? | Så snart vi udsteder kommandoen Trunkering, ser den bare efter den angivne tabel. Derefter fjerner den alle data helt fra hukommelsen. | Her kopieres de originale tabeldata til det rum, der kaldes 'rulle tilbage', før du udfører den faktiske datamanipulation. Derefter foretages ændringerne på det faktiske tabeldatafelt. |
3. | Tilbagerulning | Kommandoen Trunkering bruger aldrig et tilbagevendingsrum, og vi kunne ikke komme tilbage til de originale data. Et rollback-rum er en eksklusiv plads og besættes, når DML-kommandoer udstedes. | Slet-kommandoen bruger roll back space, og vi kunne bare enten bruge 'Commit' eller 'RollBack' til at acceptere eller annullere henholdsvis ændringerne.
|
4. | triggers | Trunkering er en DDL-kommando, triggere er ikke tilladt. | Sletning er en DML-kommando, triggere er tilladt her.
|
5. | Hvilket er hurtigere? | Det kan fjerne alle data, og der er ikke behov for at kontrollere for nogen matchende betingelser. De originale data kopieres heller ikke til rollback-pladsen, og det sparer meget tid. Disse to faktorer får Trunkering til at arbejde hurtigere end Slet.
| Den bruger rollback-pladsen, og de originale data skal altid opbevares på den. Dette er en ekstra byrde og tager til gengæld meget tid end Trunkeringen. |
6. | Kunne vi bruge WHERE-klausulen? | Da Truncate aldrig ser efter nogen matchende betingelser, og det bare fjerner alle rækker, kunne vi ikke bruge en 'Hvor' -klausul her. | Men vi kunne altid specificere betingelsen ved hjælp af 'hvor' -bestemmelsen i kommandoen Slet. |
7. | Hvilket optager mere plads? | Trunkeren vil ikke bruge rollback-pladsen, og det sparer hukommelsen. | Det har brug for en sikkerhedskopi i form af Rollback-plads, og det kræver derfor mere hukommelsesplads end det trunkerede. |
At kende forskellene mellem to enheder udvider viden om begge dele! Du er landet på en ret sti, dvs. websiden for at forstå forskellene, især mellem de afkortede og slette kommandoer. Håber, at du nu er klar over dens forskelle, og lad os vide, om vi havde hjulpet dig med at forstå det. Du kan også hjælpe os med at påpege, hvad der er tilbage!