Što radi SQL-Delete izjava?

9. 3. 2020.

Pri radu s bazama podataka često je potrebno izbrisati jedan ili više redaka podataka. Za provedbu ove akcije postoji poseban operator u SQL - Delete.

Brisanje sintakse

Jedna od često korištenih operacija pri radu s bazama podataka je operater za brisanje određenog broja redaka. . Kako bi se uklonili dodatni zapisi iz tablice, dovoljno je koristiti posebnu funkciju SQL-D elete .

sql delete

Sintaksa ove izjave je ista kao i umetanje i izmjena zapisa. Nakon ključne riječi DELETE slijedi konstrukcija koja označava tablicu u kojoj će se izvršiti brisanje - FROM i naziv tablice. Nakon toga dolazi izborni dio strukture sintakse operatora, koji može sadržavati indikacije koje jedinstveno definiraju jedan ili više redaka.

DELETE FROM <ime tablice> [WHERE <predicate>].

Moguća rečenica počinje ključnom riječi "WHERE", a slijedi skup predikata. Moguće je naznačiti i eksplicitnu vrijednost određenog polja, označavajući je kao jednu ili popisivanje, ili određeni raspon ili uvjet. U predikatu također možete koristiti ugniježđene uvjete, na primjer, za brisanje samo onih zapisa koji su sadržani ili nedostaju u drugoj tablici.

Primjer brisanja nekoliko ili svih unosa

Da biste izbrisali unos, morate koristiti dodatni dio strukture funkcije Brisanje. MS SQL podržava samo jednu specifikaciju podataka pomoću ključne riječi WHERE. Stoga, parametre pretraživanja traženog niza treba navesti samo nakon njega.

Ako je potrebno izbrisati tablicu, nije potrebno koristiti dodatni dio strukture, dovoljno je jednostavno navesti ime tablice u gornjoj SQL sintaksi za brisanje. Primjer brisanja svih unosa je sljedeći:

DELETE FROM "table_1".

Ovaj će upit očistiti tablicu s nazivom "table_1". Važno je napomenuti da se u ovom slučaju neće dogoditi brisanje same tablice - za to je potrebno koristiti druga sredstva SQL jezika.

SQL izbrisati primjer

Ako trebate izbrisati samo one zapise koji zadovoljavaju određeni zahtjev, morate dodati izraz uvjet. Na primjer, u sljedećem primjeru, funkcija SQL Delete će izbrisati sve retke u tablici Personnel koji imaju vrijednost Ivan u polju Ime:

BRISANJE IZ "Osoblje" WHERE "Ime" = "Ivan".

Ako je potrebno, možete odrediti više uvjeta u jednom upitu, kombinirajući ih s logičkim "AND" i "OR". U sljedećem primjeru, svi zapisi u kojima će se izbrisati ime zaposlenika "Ivan" ili "Oleg":

DELETE FROM "Personnel" WHERE "Ime" = "Ivan" ILI "Ime" = "Oleg".

Primjer brisanja jednog zapisa

Međutim, pri brisanju nije uvijek potrebno brisati sve retke koji zadovoljavaju uvjet. Da biste postigli brisanje podataka samo određenog broja redaka, morate dodati strukturu ograničenja SQL ključne riječi, a zatim specificirati eksplicitnu vrijednost redaka koje želite izbrisati.

brisanje ms slq

U sljedećem primjeru, samo dvije evidencije zaposlenika pod imenom Ivan bit će izbrisane iz tablice osoblja:

DELETE FROM "Personnel" WHERE "Naziv" = "Ivan" LIMIT 2.

Treba napomenuti da prilikom obavljanja operacije brisanja redaka, treba obratiti pozornost na ispravnost pisanja upita. U slučaju pogreške u sintaksi ili uvjetu, može doći do prekomjernog brisanja redaka, što će automatski biti gotovo nemoguće vratiti u tablicu.