logo

Ero DELETE:n ja TRUNCATE:n välillä

POISTAA on DML-komento (Data Manipulation Language) ja sitä käytetään, kun määritämme rivin (tuple), jonka haluamme poistaa tai poistaa taulukosta tai suhteesta. DELETE-komento voi sisältää WHERE-lauseen. Jos WHERE-lausetta käytetään DELETE-komennon kanssa, se poistaa tai poistaa vain ne rivit (tuples), jotka täyttävät ehdon; Muutoin se poistaa oletusarvoisesti kaikki monikot (rivit) taulukosta. Muista, että DELETE kirjaa rivien poistot lokiin.

Syntaksi:

POISTA taulukosta



WHERE kunto;

java sekoitetaan int

KATKAISTA on DDL (Data Definition Language) -komento ja sitä käytetään poistamaan kaikki rivit tai monikot taulukosta. Toisin kuin DELETE-komento, TRUNCATE-komento ei sisällä a WHERE-lauseke . TRUNCATE-komennossa ei tallenneta kunkin poistetun tietosivun tapahtumalokia. Toisin kuin DELETE-komento, TRUNCATE-komento on nopea. Emme voi palauttaa tietoja TRUNCATE-komennon käytön jälkeen.

Syntaksi:

TRUNCATE TABLE TableName;

Ymmärretään se ottamalla yksi yksinkertainen esimerkki, jossa luomme yhden valetaulukon ja teemme sitten poistotoiminnon.

Kysely:

CREATE table Employee ( Emp_id int,  name VARCHAR(20),  country VARCHAR(20),  Salary INT); --insert the data in the Employee Table INSERT INTO Employee (Emp_id, name, country, Salary) values (101, 'Mohit', 'India', 60000),  (103, 'Anish', 'England', 70000),  (104, 'Shubham', 'France', 100000),  (102, 'Danish', 'Sweden', 40000),  (105, 'Vivek', 'Wales', 50000),  (106, 'Rohan', 'Scotland', 30000);  Select * from Employee ;>

Lähtö

Työntekijätaulukko

Työntekijätaulukko

Esimerkki poistokomennosta:

Sinun on nyt luotava kysely poistaaksesi Emp_id:n viimeisen merkinnän, jonka arvo on 106.

Kysely:

Delete from Employee where Emp_id = 106;>

Lähtö

ulostulo

ulostulo

Esimerkki komennosta TRUNCATE

Voit tässä tapauksessa poistaa kaikki tietueet kokonaan pöytäsoittimista käyttämällä tyhjennä-komentoa.

Kysely:

TRUNCATE TABLE Employee;>

Erot DELETE:n ja TRUNCATE:n välillä

Poistaa Katkaista
DELETE-komentoa käytetään tiettyjen rivien (yksi tai useampi) poistamiseen. Vaikka tätä komentoa käytetään poistamaan kaikki rivit taulukosta.
Se on a DML (Data Manipulation Language) komento. Vaikka se on a DDL (tiedonmäärityskieli) komento.
DELETE-komennossa voi olla WHERE-lause tietueiden suodattamiseksi. Vaikka TRUNCATE-komennossa ei välttämättä ole WHERE-lausetta.
DELETE-komennossa monikko lukitaan ennen sen poistamista. Tämän komennon aikana tietosivu lukitaan ennen taulukon tietojen poistamista.
DELETE-käsky poistaa rivit yksi kerrallaan ja tallentaa tapahtumalokiin merkinnän jokaisesta poistetusta rivistä. TRUNCATE TABLE poistaa tiedot irrottamalla taulukkotietojen tallentamiseen käytetyt tietosivut ja kirjaa tapahtumalokiin vain sivujen purkaukset.
DELETE-komento on hitaampi kuin TRUNCATE-komento. Vaikka TRUNCATE-komento on nopeampi kuin DELETE-komento.
Jotta voit käyttää Delete-toimintoa, tarvitset taulukon DELETE-luvan. Jotta voisimme käyttää Truncatea pöydällä, tarvitsemme vähintään MUUTTAA lupa pöydälle.
Vähemmän sarakkeen identiteetti säilyttää identiteetin sen jälkeen, kun taulukossa on käytetty DELETE-lauseketta. Identiteetti sarakkeen alkuarvo palautetaan, jos taulukko sisältää tunnistesarakkeen.
Poistoa voidaan käyttää indeksoiduissa näkymissä. Katkaisua ei voi käyttää indeksoiduissa näkymissä.
Tämä komento voi myös aktivoida liipaisimen. Tämä komento ei aktivoi liipaisinta.
DELETE-käsky vie enemmän tapahtumatilaa kuin Truncate. Katkaise-lause vie vähemmän tapahtumatilaa kuin DELETE.

Poistooperaatiot voidaan PALAUTTAA taaksepäin.

TRUNCATE ei voi peruuttaa, koska se aiheuttaa implisiittisen sitoumuksen.

Poistaminen ei pudota koko taulukkoa. Se saa taulukon lukituksen ja alkaa poistaa rivejä.

TRUNCATE pudottaa ensin taulukon ja luo sen sitten uudelleen, mikä on nopeampaa kuin yksittäisten rivien poistaminen.

Johtopäätös

Tässä artikkelissa, SQL kehittäjät voivat poistaa rivit asianmukaisesti käyttämällä DELETE- ja TRUNCATE-komentoja oikein. TRUNCATE-komentoa on käytettävä varoen, koska se poistaa kaikki taulukon tietueet. Aloittelijat hyötyvät myös tämän opetusohjelman selityksestä Delete- ja Truncate-komentojen eroista.

POISTAA:

  • Haluat poistaa pöydästä kaikki työntekijät, jotka eivät ole ostaneet mitään viimeisen kuuden kuukauden aikana.
  • Haluat poistaa työntekijän pöydästä.

KATKAISTA:

  • Haluat palauttaa taulukon sisällön alkuperäiseen tilaan.
  • Sinun ei tarvitse pystyä palauttamaan tietoja; haluat vain poistaa sen kokonaan taulukosta.