RADERA är ett DML(Data Manipulation Language)-kommando och används när vi anger raden (tuppel) som vi vill ta bort eller ta bort från tabellen eller relationen. Kommandot DELETE kan innehålla en WHERE-sats. Om WHERE-satsen används med kommandot DELETE, tar den bort eller tar bara bort de rader (tupler) som uppfyller villkoret; Annars tar den som standard bort alla tupler (rader) från tabellen. Kom ihåg att DELETE loggar radraderingarna.
Syntax:
DELETE FROM TableName
WHERE skick;
hur man anropar en metod i java
STYMPA är ett DDL-kommando (Data Definition Language) och används för att ta bort alla rader eller tuplar från en tabell. Till skillnad från kommandot DELETE innehåller kommandot TRUNCATE inte a WHERE klausul . I kommandot TRUNCATE registreras inte transaktionsloggen för varje raderad datasida. Till skillnad från kommandot DELETE är kommandot TRUNCATE snabbt. Vi kan inte återställa data efter att ha använt kommandot TRUNCATE.
Syntax:
TRUNCATE TABLE Tabellnamn;
Låt oss förstå det genom att ta ett enkelt exempel där vi skapar en dummy-tabell och sedan gör raderingsoperationen.
Fråga:
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 ;>
Produktion

Anställd bord
Exempel på raderingskommando:
Du måste nu skapa en fråga för att ta bort den sista posten med värdet 106 för Emp_id.
Fråga:
Delete from Employee where Emp_id = 106;>
Produktion

produktion
Exempel på kommandot TRUNCATE
För att helt ta bort alla poster från bordsspelarna i det här fallet, använd kommandot truncate.
Fråga:
TRUNCATE TABLE Employee;>
Skillnader mellan DELETE och TRUNCATE
| Radera | Stympa |
|---|---|
| Kommandot DELETE används för att ta bort specificerade rader (en eller flera). | Medan detta kommando används för att ta bort alla rader från en tabell. |
| Det är en DML (Data Manipulation Language) kommando. | Medan det är en DDL (Data Definition Language) kommando. |
| Det kan finnas en WHERE-sats i kommandot DELETE för att filtrera posterna. | Även om det kanske inte finns WHERE-sats i TRUNCATE-kommandot. |
| I kommandot DELETE låses en tuppel innan den tas bort. | Medan i detta kommando låses datasidan innan tabelldata tas bort. |
| DELETE-satsen tar bort rader en i taget och registrerar en post i transaktionsloggen för varje raderad rad. | TRUNCATE TABLE tar bort data genom att avallokera datasidorna som används för att lagra tabelldata och registrerar endast sidavallokeringarna i transaktionsloggen. |
| DELETE-kommandot är långsammare än TRUNCATE-kommandot. | Medan TRUNCATE-kommandot är snabbare än DELETE-kommandot. |
| För att använda Delete behöver du ta bort behörighet på bordet. | För att använda Truncate på ett bord behöver vi minst ÄNDRA tillstånd på bordet. |
| Identiteten för den färre kolumnen behåller identiteten efter att ha använt DELETE Statement i tabellen. | Identitet kolumnen återställs till dess startvärde om tabellen innehåller en identitetskolumn. |
| Raderingen kan användas med indexerade vyer. | Truncate kan inte användas med indexerade vyer. |
| Detta kommando kan också aktiveras. | Detta kommando aktiverar inte aktiv trigg. |
| DELETE-satsen upptar fler transaktionsutrymmen än Truncate. | Truncate-satsen upptar mindre transaktionsutrymmen än DELETE. |
| Raderingsåtgärder kan rullas tillbaka. | TRUNCATE kan inte återställas eftersom det orsakar en implicit commit. |
| Ta bort släpper inte hela tabellen. Den får ett lås på bordet och börjar radera raderna. | TRUNCATE släpper först tabellen och återskapar den sedan, vilket är snabbare än att ta bort enskilda rader. |
Slutsats
I den här artikeln, SQL utvecklare kan ta bort raderna på lämpligt sätt genom att använda kommandona DELETE och TRUNCATE korrekt. Kommandot TRUNCATE måste användas med försiktighet eftersom det tar bort alla tabellens poster. Nybörjare kommer också att dra nytta av den här handledningens förklaring av skillnaderna mellan kommandona Delete och Truncate.
RADERA:
- Du vill ta bort alla anställda som inte har köpt något under de senaste sex månaderna från ett bord.
- Du vill ta bort en anställd från en tabell.
STYMPA:
- Du vill återställa tabellens innehåll till sitt ursprungliga tillstånd.
- Du behöver inte kunna återställa data; du vill bara ta bort den helt och hållet från bordet.