2.6.1 SQL andmete manipuleerimiskeele (DML)
Liikudes andmete manipuleerimiskeele (DML) juurde, võib märkida, et on võimalik andmeid tabelisse lisada järgmise korraldusega:
insert into tname [(colname, ...)] values (colval, ...);
kus on kasutatud tähiseid:
tname - tabelinimi, millisesse andmeid lisatakse;
colname - veerunimi, kuhu lisatakse;
colval - konkreetsed andmed, mida lisatakse.
Andmete lisamise operatsioon võib nurjuda mitmel põhjusel: lisatavad andmed dubleerivad unikaalse indeksi väärtusi või sisestatavad andmed ei vasta veeru määratud andmetüübile.
|
Näited: |
|
Insert into tudengid (tkood, eesnimi, perenimi) values (12, "Juhan", "Juurikas"); |
Ridade kustutusoperatsioon võimaldab lisada ka kustutamise tingimusi, tutvustades uut süntaksielementi klausel where.
delete from tname [where colname condition {colval|colname} [oprel ...]];
kus on kasutatud tähiseid
Tname - tabelinimi, millisest andmeid kustutatakse;
colname - veerunimi;
condition - tingimusoperaator;
colval - väärtus, mida võrreldakse colname veeru sisuga;
oprel - suhteoperaator (relatsiooniline operaator).
Siin käsitletud tingimused on küllaltki lihtsad. Kõikvõimalikud where klausli tingimused on palju laiemad ja jäävad käesolevast käsitlusest välja.
|
Tingimus |
Tähendus |
|
= |
Tingimus on tõene, kui operaatori mõlemad pooled on võrdsed. |
|
!= |
Tingimus on tõene, kui operaatori mõlemad pooled on erinevad. |
|
> >= <= < |
Tingimus on tõene, kui operaatori mõlemad pooled vastavad näidatud võrratuse tingimusele. |
|
like |
Tingimus on tõene, kui termini "like" vasak pool sisaldab parempoolseid tingimusi (sümboleid). Võib kasutada metamärke nagu "%" sümbol. Sümbolit % käsitletakse, kui sümbolite mistahes järjestust. |
|
matches |
Tingimus on tõene, kui vasak pool vastab parempoolsetele tingimustele (sümbolitele). Võib kasutada metamärke. |
|
Suhteoperaator |
Tähendus |
|
and |
Avaldis on tõene, kui operaatorile eelnevad ja järgnevad tingimused on mõlemad tõesed. |
|
or |
Avaldis on tõene, kui vähemalt üks kahest tingimusest on tõene. |
|
not |
Eitab operaatorile järgnevat tingimust (vastab vastandväärtusele). |
Järgnev näide demonstreerib, kuidas tühistatakse kõik õpilane kirjed Juurikas perekonnanimega, kes on sündinud enne 1. jaanuari 1983. Rea tühistamiseks (kustutamiseks) peab see rahuldama mõlemaid tingimusi ja seepärast kasutatakse and operaatorit.
|
Näited: |
|
delete from tudengid where synnipaev <"01.01.1983" and perenimi="Juurikas"; |
Tabeli väärtuste muudatusi võib teha järgmise korraldusega:
update tname set colname=valcol, ... [where colname condition {colval|colname} [oprel ...]];
kus on kasutatud tähiseid
tname - tabelinimi, millisest andmeid kustutatakse;
colname - veerunimi;
valcol - veerule omistatud väärtus;
condition - tingimusoperaator;
colval - väärtus, mida võrreldakse colname veeru sisuga;
oprel - suhteoperaator (relatsiooniline operaator).