Tietokannan peruskyselyt

Tietokannan peruskyselyt ovat kyselyitä, joilla voidaan hoitaa tietokantaan kohdistuvat haku-, lisäys- ja poistotoimenpiteet.

 Kyselyille tyypilliset osa-alueet 

 Kentät
 Käytössä vain hakukyselyssä, määrittelee mitkä kentät palautetaan tuloksen mukana
 Taulu
 Taulu johon kysely vaikuttaa
 Arvot
 Lisäys- ja muokkauskyselyssä tuotavat arvot sarakkeisiin
 Liitokset
 Kyselyn palauttamien kenttien, ehdon tai järjestyslauseen vaatimat liitostaulut. Välillä liitos tarvitsee myös oman, erillisen ehdon
 Ehto
 Ehto jolla rajataan kyselyn vaikutusta
 Järjestys
 Järjestys mitä käytetään määrittämään tulosjoukon järjestys
 Rajoitus
 Rajoituksella rajoitetaan tulosjoukon maksimikokoa

 Hakukysely 

Hakukysely on ainoa kysely joka ei vaikuta tietokannan taulun sisältöön, vaan ainoastaan hakee tietoja taulusta sekä sen mahdollisista liitoksista. Hakukysely tarvitsee yleensä vähintään 1. ja 2. osa-alueen, ja monesti käyttää tehokkaasti hyväksi myös muita osa-alueita.

Esimerkki hakukyselystä SQL-kielellä:
<nowiki>
SELECT a.name, b.city
FROM users AS a
LEFT JOIN cities AS b ON (a.cityId = b.id)
WHERE a.name LIKE 'a%'
ORDER BY a.name ASC;
</nowiki>

Tämä esimerkin mukainen yksinkertainen hakukysely hakisi taulusta users kaikki a:lla alkavat nimet sekä relaatioavaimen mukaisen kaupungin järjestäen tuloksen nimen mukaan laskevaan järjestykseen.

 Lisäys- ja muokkauskysely 

Lisäys- ja muokkauskyselyllä vaikutetaan tietokannan taulun sisältöön nimensä mukaisesti lisäävästi tai muokkaavasti. Kysely tarvitsee yleensä vähintään 2. ja 3. osa-alueen, ja muokkaustilanteessa myös ehdon sekä mahdollisen rajoituksen mikäli ei haluta vaikuttaa muokkauksella kaikkiin taulun tietueisiin.

Esimerkki lisäys- ja muokkauskyselystä SQL-kielellä:
<nowiki>
# Lisäyskysely
INSERT INTO users (name, cityID)
VALUES ('Antonio Banderas', 1234);

# Muokkauskysely
UPDATE users
SET name = 'José Antonio Domínguez Bandera'
WHERE name = 'Antonio Banderas'
LIMIT 1;
</nowiki>

Ensimmäisessä esimerkissä lisäsimme tauluun users Antonio Banderasin kaupunkitunnuksella 1234 joka vastaa Málagaa cities taulussa. Toisessa esimerkissä muokkasimme nimen oikeaksi nimeksi rajoittaen vaikutuksen mahdollisesti vain ensimmäiseen vastaantulevaan Antonio Banderakseen.

 Poistokysely 

Poistokysely toimii periaatteessa aivan samoin kuin muokkauskysely, sillä erotuksella että tietojen muokkaamisen sijaan tiedot poistetaan taulusta. Kysely tarvitsee vähintään 2. osa-alueen, ja mikäli ei haluta poistaa kaikkia tietueita valitusta taulusta, myös ehdon sekä mahdollisen rajoituksen.

Esimerkki poistokyselystä SQL-kielellä:
<nowiki>
DELETE FROM users
WHERE name = 'José Antonio Domínguez Bandera'
LIMIT 1;
</nowiki>

Esimerkissä poistetaan tietokannan taulusta users ensimmäinen vastaantuleva tietue jonka name-kenttä sisältää arvon José Antonio Domínguez Bandera.

Näiden lisäksi monilla kyselykielillä on omia, erikoispiirteiden omaavia kyselyitä kuten yhdistämis- ja tyhjennyskysely. Näitä kyselytyyppejä ei kuitenkaan voi pitää tietokannan peruskyselyinä koska aivan kaikki tietokantakielet eivät näitä kyselytyyppejä tue.

 Katso myös 

Tietokanta
SQL

Peruskyselyt