Tietokannat –kurssi SQL peruskyselyt KSAO, Datanomit, käytön tuki 17.2.2015 Lauri Tapola
SQL (Structured Query Language) on standardi kyselykieli kaikkiin tietokantoihin. SQL komentojen avulla voit tehdä kaikki tietokantoihin liittyvät toimenpiteet. (Käyttöoikeudet toki rajoittavat tekemistä.) SQL on standardi-kieli, mutta eri valmistajilla (MySQL, MS SQL server, Oracle…) on joitakin omia lisäyksiä standardiin. SQL peruskomennot ovat tietokantojen parissa työskentelevien päivittäistä työtä ja ne on syytä osata: SELECT INSERT, UPDATE, DELETE …
Peruskyselyitä kirjastotietokannasta Peruskyselyitä kirjastotietokannasta. SELECT x FROM y WHERE z ”VALITSE sarakkeet x TAULUSTA y KUN ehdot z toteutuvat” Esimerkkikyselyitä: Listaa asiakkaat Listaa kirjat Hae Kouvolassa asuvat asiakkaat Hae lainassa olevat kirjat Hae alle 18-vuotiaat asiakkaat Hae yli 50 vuotta vanhat kirjat
Peruskyselyitä kirjastotietokannasta SELECT x FROM y WHERE z 1a. Listaa kaikki tiedot asiakkaista SELECT * FROM asiakas 1b. Listaa kaikki tiedot kirjoista SELECT * FROM kirja 2. Hae asiakasnimi ja lähiosoite asiakkaista jotka asuvat Kouvolassa SELECT asiakas_nimi, lahiosoite FROM asiakas WHERE postitoimipaikka="Kouvola” 3. Hae lainassa olevat kirjat, SELECT * FROM KIRJA WHERE lainassa=1 TAI SELECT * FROM LAINAUS WHERE lainaus_pvm <= curdate() and isnull(palautus_pvm)
Peruskyselyitä kirjastotietokannasta SELECT x FROM y WHERE z 4. Hae kaikki tiedot alle 18-vuotiaista asiakkaista SELECT * FROM asiakas WHERE syntyma_aika > "1997-02-17” 5. Hae kaikki tiedot yli 50 vuotta vanhoista kirjoista select * from kirja where julkaisuvuosi < 1965 Huomaa lainausmerkkien tarve ja ajan muoto, oletusmuotoilu päivämäärille on ”yyyy-mm-dd”. (vvvv-kk-pp) Muitakin muotoja voi käyttää, mutta kyselyt monimutkaistuvat kun muotoiluja pitää lisätä kyselyihin. Ne käydään myöhemmin.
Peruskyselyitä kirjastotietokannasta Peruskyselyitä kirjastotietokannasta. Kyselytulosten lajittelu SELECT x FROM y WHERE z ORDER BY n,m (DESC) 6. Listaa vain asiakkaiden nimet aakkosjärjestykseen SELECT Asiakas_nimi FROM asiakas order by Asiakas_nimi 7. Listaa kirjat (vain nimi ja julkaisuvuosi) ikäjärjestykseen, uusimmat ensin select kirja_nimi, julkaisuvuosi from kirja order by julkaisuvuosi desc
Oppimistehtävä 2 Kehitä 5 kyselyä, samaan tapaan kuin tunneilla. Voit käyttää kirjasto- tauluja tai classicmodels –tietokantaa. Kyselyitä ei tarvitse kotona testata, kunhan ne on suunniteltu! Kirjasto-tietokannan rakenne on edellisen tunnin materiaaleissa mutta myös kertauksena seuraavalla sivulla.
Taulut, kentät ja yhteydet Olennaisia ovat taulut: KIRJA, LAINAUS JA ASIAKAS. LAINAUS –taulusta on viittaukset KIRJA sekä ASIAKAS –tauluihin. KIRJA Kirja_id, Kirja_nimi, Kirjailijat, Julkaisuvuosi, Kustantaja, Hylly, Lainassa LAINAUS Lainaus_id, Kirja_id, Asiakas_id, Lainaus_pvm, Erä_pvm, Palautus_pvm ASIAKAS Asiakas_id, Asiakas_nimi, Lahiosoite, Postinumero, Postitoimipaikka Puhelin, Email Syntyma_aika