Kaj stori stavek SQL - Delete?

9. 3. 2020

Pri delu z bazami podatkov je pogosto treba izbrisati eno ali več vrstic podatkov. Za izvedbo tega dejanja obstaja poseben operater v SQL - Delete.

Izbriši sintakso

Ena od pogosto uporabljenih operacij pri delu z bazami podatkov je operater, ki lahko izbriše določeno število vrstic. . Za odstranitev dodatnih zapisov iz tabele je dovolj, da uporabite posebno funkcijo SQL-D elete .

sql delete

Sintaksa tega stavka je enaka kot vstavljanje in spreminjanje zapisov. Ključni besedi DELETE sledi konstrukt, ki označuje tabelo, v kateri bo izvedeno brisanje - FROM in ime tabele. Po tem pride neobvezni del strukture sintakse operatorja, ki lahko vsebuje indikacije, ki enolično določajo eno ali več vrstic.

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

Možen stavek se začne s ključno besedo "WHERE", ki ji sledi niz predikatov. Možno je navesti tako eksplicitno vrednost določenega polja, ki jo označi kot eno ali številčno, ali določeno območje ali stanje. V predikatu lahko uporabite tudi ugnezdene pogoje, na primer, da izbrišete samo tiste zapise, ki so vsebovani ali manjkajo v drugi tabeli.

Primer brisanja več ali vseh vnosov

Če želite izbrisati vnos, morate uporabiti neobvezni del strukture funkcije Delete. MS SQL podpira samo eno specifikacijo podatkov z uporabo ključne besede WHERE. Zato je treba parametre iskanja iskalnega niza določiti šele po njem.

Če je potrebno izbrisati tabelo, ni treba uporabiti dodatnega dela strukture, dovolj je preprosto podati ime tabele v sintaksi SQL Delete. Primer brisanja vseh vnosov je naslednji:

DELETE FROM "table_1".

Ta poizvedba bo očistila tabelo z imenom "table_1". Treba je omeniti, da v tem primeru izbris tabele sam ne bo zgodilo - za to je potrebno uporabiti druga sredstva jezika SQL.

sql delete delete

Če morate izbrisati samo tiste zapise, ki ustrezajo določeni zahtevi, morate dodati izjavo o pogoju. Na primer, v naslednjem primeru bo funkcija brisanja SQL izbrisala vse vrstice v tabeli za osebje, ki imajo v polju Ime vrednost Ivan:

IZBRIŠI IZ "Osebje" WHERE "Ime" = "Ivan".

Če je potrebno, lahko v eni poizvedbi podate več pogojev, ki jih združite z logičnimi "IN" in "OR". V naslednjem primeru so vsi zapisi, v katerih bo izbrisano ime zaposlenega "Ivan" ali "Oleg":

DELETE FROM "Osebje" WHERE "Ime" = "Ivan" ALI "Ime" = "Oleg".

Primer brisanja enega zapisa

Vendar pri brisanju ni vedno treba izbrisati vseh vrstic, ki izpolnjujejo pogoj. Če želite doseči izbris podatkov samo določenega števila vrstic, morate v strukturo funkcije brisanja SQL dodati ključno besedo LIMIT in nato podati eksplicitno vrednost vrstic, ki jih želite izbrisati.

izbrišite ms slq

V naslednjem primeru bodo iz tabele za osebje izbrisana samo dva zapisa zaposlenih z imenom Ivan:

DELETE FROM "Osebje" WHERE "Ime" = "Ivan" LIMIT 2.

Treba je opozoriti, da pri izvajanju operacije brisanja vrstic morate paziti na pravilnost pisanja poizvedb. V primeru napake v sintaksi ali pogoju se lahko pojavi prekomerno brisanje vrstic, kar bo samodejno skoraj nemogoče vrniti v tabelo.