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ä:
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;
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ä:
# 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;
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ä:
DELETE FROM users WHERE name = 'José Antonio Domínguez Bandera' LIMIT 1;
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.