SLETT er en DML (Data Manipulation Language) kommando og brukes når vi spesifiserer raden (tuppelen) som vi ønsker å fjerne eller slette fra tabellen eller relasjonen. DELETE-kommandoen kan inneholde en WHERE-klausul. Hvis WHERE-klausulen brukes med DELETE-kommandoen, fjerner eller sletter den bare de radene (tuplene) som tilfredsstiller betingelsen; Ellers fjerner den som standard alle tuplene (radene) fra tabellen. Husk at DELETE logger radslettingene.
Syntaks:
SLETT FRA Tabellnavn
WHERE tilstand;
føtter vs fot
TRUNCATE er en DDL-kommando (Data Definition Language) og brukes til å slette alle radene eller tuplene fra en tabell. I motsetning til DELETE-kommandoen, inneholder TRUNCATE-kommandoen ikke en WHERE-klausul . I TRUNCATE-kommandoen blir ikke transaksjonsloggen for hver slettede dataside registrert. I motsetning til DELETE-kommandoen, er TRUNCATE-kommandoen rask. Vi kan ikke rulle tilbake dataene etter å ha brukt TRUNCATE-kommandoen.
Syntaks:
TRUNCATE TABLE Tabellnavn;
La oss forstå det ved å ta et enkelt eksempel der vi vil lage en dummy-tabell og deretter utføre sletteoperasjonen.
Spørsmål:
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 ;>
Produksjon

Ansatt bord
Eksempel på slettekommando:
Du må nå opprette en spørring for å fjerne den siste oppføringen med verdien 106 for Emp_id.
Spørsmål:
Delete from Employee where Emp_id = 106;>
Produksjon

produksjon
Eksempel på TRUNCATE-kommando
For å fjerne alle poster fra bordspillerne i dette tilfellet, bruk truncate-kommandoen.
Spørsmål:
TRUNCATE TABLE Employee;>
Forskjeller mellom DELETE og TRUNCATE
| Slett | Kutt av |
|---|---|
| DELETE-kommandoen brukes til å slette spesifiserte rader (en eller flere). | Mens denne kommandoen brukes til å slette alle radene fra en tabell. |
| Det er en DML (Data Manipulation Language) kommando. | Mens det er en DDL (Data Definition Language) kommando. |
| Det kan være en WHERE-klausul i DELETE-kommandoen for å filtrere postene. | Selv om det kanskje ikke er WHERE-klausul i TRUNCATE-kommandoen. |
| I DELETE-kommandoen låses en tuppel før den fjernes. | Mens du er i denne kommandoen, låses datasiden før tabelldataene fjernes. |
| DELETE-setningen fjerner rader én om gangen og registrerer en oppføring i transaksjonsloggen for hver slettede rad. | TRUNCATE TABLE fjerner dataene ved å deallokere datasidene som brukes til å lagre tabelldataene og registrerer bare sidedeallokeringene i transaksjonsloggen. |
| DELETE-kommandoen er tregere enn TRUNCATE-kommandoen. | Mens TRUNCATE-kommandoen er raskere enn DELETE-kommandoen. |
| For å bruke Slett trenger du SLETT-tillatelse på bordet. | For å bruke Truncate på et bord trenger vi minst ENDRE tillatelse på bordet. |
| Identiteten til de færreste kolonnene beholder identiteten etter bruk av DELETE Statement på bordet. | Identitet kolonnen tilbakestilles til startverdien hvis tabellen inneholder en identitetskolonne. |
| Slettingen kan brukes med indekserte visninger. | Truncate kan ikke brukes med indekserte visninger. |
| Denne kommandoen kan også aktiveres. | Denne kommandoen utløser ikke aktiv. |
| DELETE-setningen opptar flere transaksjonsplasser enn Truncate. | Truncate-setningen opptar mindre transaksjonsplasser enn DELETE. |
| Sletteoperasjoner kan rulles tilbake. | TRUNCATE kan ikke rulles tilbake da det forårsaker en implisitt forpliktelse. |
| Slett sletter ikke hele tabellen. Den får en lås på bordet og begynner å slette radene. | TRUNCATE slipper først tabellen og gjenoppretter den, noe som er raskere enn å slette individuelle rader. |
Konklusjon
I denne artikkelen, SQL utviklere kan fjerne radene på riktig måte ved å bruke kommandoene DELETE og TRUNCATE på riktig måte. TRUNCATE-kommandoen må brukes med forsiktighet fordi den sletter alle tabellens poster. Nybegynnere vil også dra nytte av denne veiledningens forklaring av forskjellene mellom kommandoene Slett og Truncate.
SLETT:
- Du vil fjerne alle ansatte som ikke har kjøpt noe de siste seks månedene fra et bord.
- Du vil fjerne en ansatt fra en tabell.
TRUNCATE:
- Du vil gjenopprette tabellens innhold til den opprinnelige tilstanden.
- Du trenger ikke å kunne gjenopprette dataene; du vil bare fjerne den helt fra bordet.