IZBRIŠI je ukaz DML (Data Manipulation Language) in se uporablja, ko določimo vrstico (tuple), ki jo želimo odstraniti ali izbrisati iz tabele ali relacije. Ukaz DELETE lahko vsebuje stavek WHERE. Če je klavzula WHERE uporabljena z ukazom DELETE, potem odstrani ali izbriše samo tiste vrstice (torke), ki izpolnjujejo pogoj; sicer privzeto odstrani vse tuple (vrstice) iz tabele. Ne pozabite, da DELETE beleži brisanja vrstic.
Sintaksa:
DELETE FROM TableName
KJE stanje;
onemogočite razvijalski način
OKRAJ je ukaz DDL (Data Definition Language) in se uporablja za brisanje vseh vrstic ali tulp iz tabele. Za razliko od ukaza DELETE ukaz TRUNCATE ne vsebuje a stavek WHERE . V ukazu TRUNCATE se dnevnik transakcij za vsako izbrisano podatkovno stran ne zabeleži. Za razliko od ukaza DELETE je ukaz TRUNCATE hiter. Po uporabi ukaza TRUNCATE podatkov ne moremo vrniti nazaj.
Sintaksa:
TRUNCATE TABLE TableName;
Razumejmo to z enim preprostim primerom, v katerem bomo ustvarili eno lažno tabelo in nato izvedli operacijo brisanja.
poizvedba:
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 ;>
Izhod

Tabela zaposlenih
Primer za ukaz za brisanje:
Zdaj morate ustvariti poizvedbo za odstranitev zadnjega vnosa z vrednostjo 106 za Emp_id.
poizvedba:
Delete from Employee where Emp_id = 106;>
Izhod

izhod
Primer za ukaz TRUNCATE
Za popolno odstranitev vseh zapisov iz igralcev za mizo v tem primeru uporabite ukaz truncate.
poizvedba:
TRUNCATE TABLE Employee;>
Razlike med DELETE in TRUNCATE
| Izbriši | Skrajšaj |
|---|---|
| Ukaz DELETE se uporablja za brisanje določenih vrstic (ene ali več). | Čeprav se ta ukaz uporablja za brisanje vseh vrstic iz tabele. |
| Je DML (jezik za obdelavo podatkov) ukaz. | Medtem ko je a DDL (Jezik za definiranje podatkov) ukaz. |
| V ukazu DELETE je morda klavzula WHERE za filtriranje zapisov. | Medtem ko v ukazu TRUNCATE morda ni člena WHERE. |
| V ukazu DELETE se torka zaklene, preden jo odstranite. | Ko ste v tem ukazu, se stran s podatki zaklene, preden se odstranijo podatki tabele. |
| Stavek DELETE odstrani vrstice eno za drugo in zabeleži vnos v dnevnik transakcij za vsako izbrisano vrstico. | TRUNCATE TABLE odstrani podatke tako, da sprosti podatkovne strani, ki se uporabljajo za shranjevanje podatkov tabele, in v dnevnik transakcij zabeleži samo sprostitve strani. |
| Ukaz DELETE je počasnejši od ukaza TRUNCATE. | Medtem ko je ukaz TRUNCATE hitrejši od ukaza DELETE. |
| Za uporabo Delete potrebujete dovoljenje DELETE za tabelo. | Za uporabo Truncate na tabeli potrebujemo vsaj SPREMINJATI dovoljenje na mizi. |
| Identiteta manjšega stolpca ohrani identiteto po uporabi stavka DELETE v tabeli. | Identiteta stolpec je ponastavljen na prvotno vrednost, če tabela vsebuje stolpec identitete. |
| Brisanje je mogoče uporabiti z indeksiranimi pogledi. | Obrezovanja ni mogoče uporabiti z indeksiranimi pogledi. |
| Ta ukaz lahko tudi aktivira sprožilec. | Ta ukaz ne aktivira sprožilca. |
| Stavek DELETE zasede več transakcijskih prostorov kot Truncate. | Odrezani stavek zasede manj transakcijskega prostora kot DELETE. |
| Operacije brisanja je mogoče VRTETI nazaj. | TRUNCATE ni mogoče razveljaviti, ker povzroči implicitno potrditev. |
| Brisanje ne IZBRIŠE celotne tabele. Pridobi zaklepanje tabele in začne brisati vrstice. | TRUNCATE najprej izpusti tabelo in jo nato znova ustvari, kar je hitreje kot brisanje posameznih vrstic. |
Zaključek
V tem članku SQL razvijalci lahko ustrezno odstranijo vrstice s pravilno uporabo ukazov DELETE in TRUNCATE. Ukaz TRUNCATE je treba uporabljati previdno, ker izbriše vse zapise tabele. Začetnikom bo prav tako koristila razlaga razlik med ukazoma Delete in Truncate v tej vadnici.
IZBRIŠI:
- Iz tabele želite odstraniti vse zaposlene, ki v zadnjih šestih mesecih niso ničesar kupili.
- Želite odstraniti zaposlenega iz tabele.
TRUNCATE:
- Vsebino tabele želite povrniti v prvotno stanje.
- Ni vam treba obnoviti podatkov; samo želite ga v celoti odstraniti s tabele.