Katkaise ja poista

Anonim

Tietojen luominen ja manipulointi muodostavat tietokantojen perustan ja kutsumme sitä DDL: ksi ja DML: ksi. DDL on lyhennetty Data Definition Language. Se voi joko luoda tai muokata tietorakenteiden tietorakenteita, eikä niitä voitu muuttaa taulukkojen läsnäoloon. Esimerkiksi meillä on komentoja, jotka vain luo taulukon, jossa on määritetyt taulukkoominaisuudet, mutta se ei koskaan lisää rivejä taulukkoon. Mutta DML, Data Manipulation Language, pystyy lisäämään, poistamaan tai muuttamaan tietoja taulukoissa. Yleensä DDL-komennot käsittelevät taulukkorakenteita, kun taas DML-komennot käsittelevät varsinaisia ​​tietoja. Olkoon se, miksi poikkeamme vain aiheesta "Erotus katkaisun ja poiston välillä"? On syitä, joista puhuimme DML: stä ja DDL: stä. Sinä ymmärrät sen esiin tulevassa keskustelussa.

Mikä on Truncate-komento?

Truncate-komennon tarkoitus on poistaa koko taulukko. Joten kun käytät katkaisu-komentoa, menetät kaikki taulukossa olevat tiedot, ja sinun pitäisi olla varovainen käyttää sitä. Kerro meille, miten sitä käytetään.

Truncatin syntaksi:

TRUNCATE-TAULUKKO table-nimi;

Tässä on määritettävä taulukon nimi, joka on poistettava kokonaan. Näin varmistetaan, että muistitilassa istuu pöytä. Tässä on esimerkki Truncaten käytöstä.

Alla on "työntekijä" -taulukko ja tarkastele vain sen sisältämiä tietoja.

EMP-id EMP-nimi nimitys
1011 tunkki Virkailija
1012 Ruusuinen admin
1014 Nancy Rahoittaa

Anna nyt antaa alla oleva komento työntekijän taulukosta.

TRUNCATE-TAULUKKO työntekijä;

Tässä on edellä mainitun syntaksin tulos, eikä siinä ole tietoja.

EMP-id EMP-nimi nimitys

Mikä on Poista komento?

Delete-komennon tarkoitus on poistaa määritetyt rivit taulukosta. Tässä "Missä" lauseketta käytetään tässä määritellä rivejä, jotka on poistettava. Kun emme määritä rivejä, komento poistaisi kaikki taulukon rivit. Katso vain sen syntaksi.

POISTA työntekijä;

Edellä oleva syntaksi poistaa kaikki rivit 'työntekijän' taulukosta. Joten tuloksena oleva taulukko ei sisällä tietoja.

POISTA työntekijä MISSÄ emp-id = 1011;

Tämä lausuma poistaa vain yhden rivin, jonka emp-id on 1011. Joten tuloksena oleva taulukko olisi seuraavanlainen.

EMP-id EMP-nimi nimitys
1012 Ruusuinen admin
1014 Nancy Rahoittaa

erot:

  • Ristikko on DDL; Poista on DML: Olemme keskustelleet edellä siitä, miten DDL ja DML toimivat edellä keskustelussa. Truncate-komento on DDL ja se toimii tietorakenteen tasolla. Mutta Delete on DML-komento ja se toimii taulukon tiedoissa. Muita DDL: n esimerkkejä ovat CREATE ja ALTER. Samalla tavoin voisimme sanoa, että komennot, kuten SELECT, UPDATE ja INSERT, ovat täydellisiä esimerkkejä DML: stä.
  • Miten katkaisu ja poisto toimivat: Heti kun annamme Truncate-komennon, se vain etsii määritettyä taulukkoa. Sitten se poistaa kokonaan kaikki tiedot muistista. Työmenetelmä on kuitenkin hieman erilainen kuin Poista. Tällöin alkuperäinen taulukkotieto kopioidaan tilaan, jota kutsutaan "rullaa" -tilaksi, ennen varsinaisen tietojen käsittelyä. Sitten muutokset tehdään todellisessa taulukon datatilassa. Joten molemmat eroavat toisistaan ​​tavalla, jolla he työskentelevät.

Katkaista -> poista koko tieto taulukosta -> Taulukkotila vapautuu nyt.

Poistaa -> Kopioi alkuperäisen taulukon tiedot rullaa takaisin -> poista määritetty data / koko taulukko -> Taulukkotila vapautuu, mutta rullaa oleva tila on täytetty.

  • Rullaa takaisin: Takaisinveto on kuin Microsoftin lisävarusteiden Undo-komento. Sitä käytetään peruuttamaan hiljattain tekemäsi muutokset, toisin sanoen viimeksi tallennetusta pisteestä. Toiminnan suorittamiseksi tiedot on kopioitava Roll Back -tilaan ennen sen muokkaamista. Vaikka nämä Roll-takat tarvitsevat ylimääräistä muistia, ne ovat erittäin hyödyllisiä päästä takaisin alkuperäiseen. Erityisesti, kun jotkut muokkaavat virheellisesti! Tulkaamme katkaisemaan ja poistamaan suhteessa Roll takaisin nyt.Kuten keskustelimme edellä, Truncate ei koskaan käytä rullaa takaisin tilaa eikä voinut palata alkuperäisiin tietoihin. Mutta Poista komento käyttää rullaa takaisin tilaa ja voisimme joko käyttää joko "Commit" tai "RollBack" hyväksyä tai peruuttaa muutokset vastaavasti.
  • Liipaisimet: Niille, jotka tarvitsevat selvityksen laukaisuista, tässä on pieni huomautus. Käynnistimet ovat ennalta määritelty toimintojen / operaation joukko, joka olisi aktivoitava, kun taulukko kohtaa tietyn ehdon. Esimerkiksi voimme laukaista palkan määrän muuttamisen, kun työntekijän kokemus yrityksestä on yli vuosi. Nämä laukaisimet voisivat toimia myös muilla pöydillä. Voimme esimerkiksi päivittää rahoitustaulukon heti, kun työntekijälle on tehty palkan nousu.

Truncate on DDL-komento, liipaisinta ei sallita täällä. Mutta Poista on DML-komento, Triggers sallitaan täällä.

  • Mikä on nopeampi? Kun olet arvannut, Truncate-komento olisi nopeampi kuin Delete-komento. Entinen voi poistaa kaikki tiedot, eikä ole tarvetta tarkistaa mitään vastaavia ehtoja. Alkuperäisiä tietoja ei myöskään kopioida takaisinpalautustilaan, mikä säästää paljon aikaa. Nämä kaksi tekijää tekevät katkaisun toimivan nopeammin kuin Poista.
  • Voimmeko käyttää WHERE-lauseketta? "Missä" -lausekkeessa määritetään tiettyjä täsmäytysolosuhteita, eikä niillä ole mitään tekemistä katkaisun kanssa. Koska Truncate ei koskaan etsi mitään vastaavia ehtoja ja se poistaa kaikki rivit, emme voineet käyttää Missä-lauseketta tässä. Mutta voimme aina määrittää ehtoa Delete-komennon "missä" lausekkeen avulla.
  • Mikä vie enemmän tilaa? Raunio ei käytä palautustilaa ja se tallentaa muistin. Mutta poistetaan varmuuskopio palautustilan muodossa ja siksi se vaatii enemmän muistitilaa kuin katkaisu.

Joten nämä ovat eroja ja katsokaamme taulukkomuodossa.

S.No Erot Katkaista Poistaa
1. DDL tai DML? Se on DDL ja se toimii tietorakenteen tasolla. Muita DDL: n esimerkkejä ovat CREATE ja ALTER. Se on DML-komento ja se toimii taulukon tiedoissa. DML tarkoittaa Data Manipulation Language -ohjelmaa. Komennot kuten SELECT, UPDATE ja INSERT ovat täydellisiä esimerkkejä DML: stä. DML tarkoittaa Data Manipulation Language -ohjelmaa.

2. Kuinka se toimii? Heti kun annamme Truncate-komennon, se vain etsii määritettyä taulukkoa. Sitten se poistaa kokonaan kaikki tiedot muistista. Tällöin alkuperäinen taulukkotieto kopioidaan tilaan, jota kutsutaan "rullaa" -tilaksi, ennen varsinaisen tietojen käsittelyä. Sitten muutokset tehdään todellisessa taulukon datatilassa.
3. palautus Truncate-komento ei koskaan käytä rullaustilaa, emmekä päässeet takaisin alkuperäisiin tietoihin. Rollback-tila on yksinomainen ja se on käytössä, kun DML-komennot annetaan. Poista-komento käyttää rullaustilaa ja voisimme joko käyttää joko "Commit" tai "RollBack" hyväksyäksesi tai peruuttaa muutokset vastaavasti.

4. Liipaisimet Leikkaus on DDL-komento, laukaisimet eivät ole sallittuja. Poista on DML-komento, Triggers sallitaan täällä.

5. Mikä on nopeampi? Se voi poistaa kaikki tiedot, eikä ole tarpeen tarkistaa yhtään sopivaa ehtoa. Alkuperäisiä tietoja ei myöskään kopioida takaisinpalautustilaan, mikä säästää paljon aikaa. Nämä kaksi tekijää tekevät katkaisun toimivan nopeammin kuin Poista.

Se käyttää palautustilaa ja aina alkuperäiset tiedot on säilytettävä. Tämä on ylimääräinen taakka ja puolestaan ​​vie paljon aikaa kuin katkaisu.
6. Voimmeko käyttää WHERE-lauseketta? Koska Truncate ei koskaan etsi mitään vastaavia ehtoja ja se poistaa kaikki rivit, emme voineet käyttää Missä-lauseketta tässä. Mutta voimme aina määrittää ehtoa Delete-komennon "missä" lausekkeen avulla.
7. Mikä vie enemmän tilaa? Raunio ei käytä palautustilaa ja se tallentaa muistin. Se tarvitsee varmuuskopion Rollback-tilan muodossa ja siksi se vaatii enemmän muistitilaa kuin katkaisu.

Tietäen, että erot kahden yrityksen välillä laajentavat molempien tietämystä! Olet saavuttanut oikean polun eli verkkosivun ymmärtämään eroja, erityisesti katkaisu- ja poistokomentojen välillä. Toivottavasti olette nyt selvillä eroistaan ​​ja kerro meille, olisiko auttanut sinua ymmärtämään sitä. Voit myös auttaa meitä osoittamaan, mikä on jäljellä!