SQLiteman ja SQLite
SQLite on relaatiotietokannan hallintajärjestelmä. SQL (Structured Query Language) on relaatiotietokantojen käsittelyyn tarkoitettu kieli. SQL-kieli sisältää komentoja, joilla voidaan esim. määritellä tietokannan rakenne, ylläpitää tietokantaa (tietojen lisääminen, muuttaminen ja poistaminen) ja tehdä erilaisia kyselyitä tietokannasta (esim. hae tuotteet, joita on varastossa alle 10 kappaletta).
Etuja:
- ei tarvita erillistä serveriä
- SQLite-tietokanta tallennetaan yhteen tiedostoon
Puutteita:
- FOREIGN KEY-määre ei toimi
SQLiten kotisivu on https://www.sqlite.org/
SQLiten lauseet esimerkkeineen löytyvät Tutorial-sivulta http://www.tutorialspoint.com/sqlite/
Alla olevan harjoituksen esimerkit ovat Tutorial-sivuilta.
SQLite:n asentaminen Windows-ympäristöön
HUOM! jos käytät SQLiteman-ohjelmaa, sinun ei tarvitse asentaa SQLiteä erikseen.
Sivulta http://www.tutorialspoint.com/sqlite/sqlite_installation.htm löytyy ohjeet SQLite:n asentamiseen Windows-ympäristöön (ohjeet alla). Samalta sivulta löytyy asennusohjeet Linux- ja Mac OS X-ympäristöihin.
- Mene sivulle http://www.sqlite.org/download.html
- Lataa Windows-osasta tiedostot sqlite-shell-win32-*.zip and sqlite-dll-win32-*.zip.
- Tee kansio Z:\>sqlite ja pura edellä lataamasi pakatut tiedostot tähän kansioon. Kansioon tallentuu tiedostot sqlite3.def, sqlite3.dll ja sqlite3.exe.
sqlite3-ohjelmaan voit kirjoittaa SQL-komentoja.
SQLiteman
SQLiteman-ohjelmassa pystyy käsittelemään SQLite-tietokantoja helposti. SQLiteman-ohjelman voi ladata osoitteesta http://sourceforge.net/projects/sqliteman/
Harjoitus
Käynnistä SQLiteman. SQLiteman-ohjelman ikkuna näyttää aluksi tältä:
Luo uusi tietokanta komennolla File -> New. Anna tietokannan nimeksi test.db
Nyt käyttöliittymä näyttää tältä:
Oikean yläkulman ikkunaan voi kirjoittaa SQLite-kielen lauseita.
Taulun luonti
Kirjoita seuraava CREATE TABLE-komento, joka lisää tietokantaan taulun nimeltään COMPANY:
CREATE TABLE COMPANY (
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
Siirrä kursori ensimmäiselle riville ja suorita CREATE TABLE-komento painikkeella Run SQL (F9):
Oikean alakulman ikkunassa näet kyselyn tuloksen.
Taulun poisto
Tietokannasta voi poistaa taulun komennolla:
DROP TABLE taulun_nimi;
esim. DROP TABLE COMPANY;
Älä kuitenkaan poista COMPANY-taulua.
Tietojen lisäys
Lisätään COMPANY-tauluun 6 tietuetta. Kirjoita edellisen SQL-komennon perään INSERT-lauseet ja suorita kaikki 6 INSERT-lausetta yhdellä kertaa: laita kursori 1. INSERT-lauseen eteen ja suorita komennot painikkeella Run multible SQL-statements…
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (5, 'David', 27, 'Texas', 85000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (6, 'Kim', 22, 'South-Hall', 45000.00 );
Lisää vielä 2 henkilöä, joiden tiedot keksit itse.
Saat lisätyt tietueet näkyviin, kun kaksoisklikkaat taulua company.
Full View-välilehti näyttää kaikki tietueet taulukkomuodossa ja Item View-välilehti näyttää tietueen kerrallaan.
SELECT-kysely
Kokeillaan seuraavaksi muutamia SELECT-lauseita. Suorita kukin lause erikseen.
Seuraava lause tulostaa kaikki COMPANY-taulun tiedot.
SELECT *
FROM COMPANY;
Jos halutaan tulostaa vain osa kentistä, ne luetellaan pilkulla eroteltuina:
SELECT ID, NAME, ADDRESS
FROM COMPANY;
SELECT-lauseen WHERE-osaan voidaan laittaa ehtoja, jotka määräävät, mitkä tietueet tulostetaan.
SELECT ID, NAME, SALARY
FROM COMPANY
WHERE SALARY<40000;
SELECT *
FROM COMPANY
WHERE AGE >= 25 AND SALARY >= 65000;
SELECT *
FROM COMPANY
WHERE AGE >= 25 OR SALARY >= 65000;
Kirjoita SELECT-lause, joka tulostaa niiden henkilöiden kentät ID,NAME,ADDRESS ja SALARY, joiden palkka on suurempi tai yhtäsuuri kuin 20000 ja pienempi tai yhtäsuuri kuin 45000.
Kirjoita SELECT-lause, joka tulostaa niiden henkilöiden kentät ID,NAME ja ADDRESS, joiden osoite on Texas tai California.
Lasketaan kuinka monella henkilöllä on sama osoite:
SELECT ADDRESS, COUNT (*)
FROM COMPANY
GROUP BY ADDRESS;
Lasketaan palkkojen keskiarvo:
SELECT AVG (SALARY)
FROM COMPANY;
Tee edellisen lauseen mallin mukaan lause, joka laskee palkat yhteen. Funktion nimi on SUM.
Lisää esimerkkejä SELECT-lauseista löydät Tutorialista.
Tietueen poisto
DELETE FROM COMPANY WHERE ID = 3;
SELECT * FROM COMPANY;
Tietueen päivitys
UPDATE COMPANY SET ADDRESS = 'California' WHERE ID = 2;
UPDATE COMPANY SET SALARY = SALARY + 3000 WHERE SALARY <=30000;
Tallennus
db-tiedostoon tallentuu automaattisesti tietokantaan tehdyt muutokset. Oikean yläkulman ikkunassa näkyvät SQL-lauseet voi tallentaa .sql tiedostoksi. SQL-lauseet tallentuvat tekstitiedostoksi.