1.1 Data Manipulation Language (DML)

SQL:n tärkein osa on tietokannan tietojen hakemiseen, muuttamiseen, lisäämiseen ja poistamiseen liittyvät käskyt, joita kutsutaan SQL:n Data Manipulation Language (DML) -osaksi. Vastaavasti SQL:stä löytyy myös Data Definition Language -käskyt joilla määritellään mm. taulujen rakennetta.

SQL ei ota kantaa siihen kuinka eri käskyt on jaoteltu eri riveille. Kaikki komennot voidaan kirjoittaa yhdelle riville tai jokainen sana omalle rivilleen. Selkeyden vuoksi on syytä käyttää jonkinlaista rivijakoa. Myös sisennyksellä voidaan selkiyttää SQL-lauseiden luettavuutta. Isoilla ja pienillä kirjaimilla ei ole SQL:ssä merkitystä. Usein on kuitenkin tapana luettavuuden ja selkeyden vuoksi kirjoittaa SQL:n omat varatut sanat isoilla kirjaimilla, kenttien nimet pienillä ja taulujen nimet aloittaen isolla kirjaimella.

SQL-92:ssa kommentit alkavat kahdella viivalla (--). Joissain tuotteissa on käytössä myös C/C++-tyylinen kommentointitapa eli /* tässä on kommentti */.

Tämän kirjan esimerkeissä käytettävät taulut, niiden sisältämät tietueet on esitetty tauluissa 1-4. [Kuva 1] kertoo taulujen väliset viite-eheydet.

Sotu

Sukunimi

Etunimi

Katuosoite

Postinumero

Puhelin

Laitosnro

Aloitusvuosi

010177-333A

Meikäläinen

Masa

Masankuja 1

31600


1

1998

100132-9876

Wanha

Gubbe

Mäntytie 1

30100

03-0000000

3

1990

100135-0000

Wanha

Gubbe

Koivukuja 5

40700

014-000000

2

1980

110573-111Y

Heinonen

Petri

Kivatie 16

74700

014-654321

1

1989

111170-7070

Vilkas

Ville

Ylioppilaskylä

40740

014-601234

1

1990

121273-000X

Lahtonen

Tommi

Pimee kuja 3

31600

014-123456

1

1995

300375-1234

Meikäläinen

Maija

Masankuja 1

31600


1

1995

Taulu 1 Oppilaat

Postinumero

Kaupunki

30100

Forssa

31600

Jokioinen

33101

Tampere

40351

Jyväskylä

40700

Jyväskylä

40740

Jyväskylä

74700

Kiuruvesi

Taulu 2 Kaupunki

Sotu

Kurssitunnus

Pvm

Arvosana

010177-333A

TIE001

1.1.1995

3

010177-333A

TIE110

12.3.1998

1,75

010177-333A

TIE110

14.5.1998

0

010177-333A

TIE110

19.9.1998

1

010177-333A

TIE160

12.5.1999

1

100135-0000

TIE160

1.1.1995

2,25

111170-7070

TIE150

1.1.1995

1

121273-000X

TIE001

1.1.1995

0

300375-1234

TIE110

1.8.2000

0

300375-1234

TIE140

12.3.1998

3

Taulu 3 Tentit

Kurssitunnus

Kurssinnimi

Laitosnro

Laajuus

TIE001

Tietotekniikan propedeuttinen kurssi

1

1

TIE110

Johdatus ohjelmointiin

1

4

TIE140

Mikrotietokonelaitteistot

1

3

TIE150

Tietokannat

1

2

TIE160

Mikrotietokoneiden ohjelmistot

1

2

Taulu 4 Kurssit

sql000

Kuva 1. Taulujen väliset viite-eheysmäärittelyt