Tietokannan peruskyselyt
Tietokannan peruskyselyt ovat kyselyitä, joilla voidaan hoitaa tietokantaan kohdistuvat haku-, lisäys- ja poistotoimenpiteet.
Kyselyille tyypilliset osa-alueet
[muokkaa | muokkaa wikitekstiä]- 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
[muokkaa | muokkaa wikitekstiä]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
[muokkaa | muokkaa wikitekstiä]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
[muokkaa | muokkaa wikitekstiä]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.