1. Loo tabel LAENUTUS järgmiste väljadega: Laenamise_id PK, Kuupaev (kuupäev), Lugeja_ID (täisarv) FK, Raamatu_ID (täisarv) FK, Tahtaeg (kuupäev), Tagastamine (kuupäev). Tabeli kirjelduses näita ära primaarvõti ja ka võõrvõtmed. mysql> CREATE TABLE LAENUTUS( -> Laenamise_id int unsigned not null auto_increment, -> Luupaev date not null, -> Lugeja_id mediumint(8) unsigned not null, -> Raamatu_id mediumint(8) unsigned not null, -> Tahtaeg date not null, -> Tagastamine date, -> PRIMARY KEY(Laenamise_id), -> FOREIGN KEY(Lugeja_id) REFERENCES LUGEJA (Lugeja_id), -> FOREIGN KEY(Raamatu_id) REFERENCES RAAMAT (Raamatu_id)); Query OK, 0 rows affected (0.01 sec) mysql> DESCRIBE LUGEJA; +-----------+-----------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+-----------------------+------+-----+---------+----------------+ | lugeja_id | mediu
1*. Leia vanima raamatu väljaandmisaasta (väljasta aastaarv). mysql> SELECT MIN(aasta) AS 'vanima raamatu valjastamisaasta' FROM RAAMAT; +---------------------------------+ | vanima raamatu valjastamisaasta | +---------------------------------+ | 1920 | +---------------------------------+ 1 row in set (0.00 sec) 2. Leia vanima raamatu pealkiri, väljaandmise aasta ja autor. mysql> SELECT pealkiri, autor, aasta FROM RAAMAT WHERE aasta=(SELECT MIN(aasta) 'vanima raamatu valjastamisaasta' FROM RAAMAT); +---------------+---------------+-------+ | pealkiri | autor | aasta | +---------------+---------------+-------+ | Tde ja igus | A.H.Tammsaare | 1920 | +---------------+---------------+-------+ 1 row in set (0.00 sec) 3*. Leia kõige uuema raamatu väljaandmisaasta (väljasta aastaarv). mysql> SELECT MAX(aasta) AS 'koige uuema raamatu valjastamisaasta' FROM RAAMAT; +--------------------------------------+ | koige uuema raam
1. Kopeeri fail ABSynnid.sql oma peakausta ikt.khk.ee serveris. 2. Tee aktiivseks oma andmebaas AB ja anna käsk source ABSynnid.sql . Mis toimus? 3. Millised tabelid tekkisid juurde? Kirjelda tekkinud tabeli välju ja andmetüüpe (kasuta sobivat käsku). Missugune väli on primaarvõtme väli, võõrvõtmeväli? Uuri lisaks ER-mudelit. mis on lisatud ülesande juhendile. mysql> SHOW TABLES; +-----------------------+ | Tables_in_eensaara_AB | +-----------------------+ | EMAD | | LAENUTUS | | LUGEJA | | RAAMAT | | SYNNID | +-----------------------+ 5 rows in set (0.00 sec) mysql> DESCRIBE EMAD; +-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | Ema_id | int(2) | NO | PRI | 0 | | | Ema_nimi | varchar(20) | YES | | NULL | | | Va
23-3','[email protected]','õpilane','Teie kool'); Laps CREATE TABLE LAPS ( Laps_ID INT AUTO_INCREMENT , Eesnimi VARCHAR(40) NOT NULL, Pikkus CHAR(5) NOT NULL, Sünniaasta CHAR(4) NOT NULL, Sünnilinn VARCHAR(100), PRIMARY KEY (Laps_ID)); ÜLESANDED Ülesanne 3 15.02.2017 __________________________________ Ülesanne 3. Lihtsamad select päringud Lihtsamad päringud SQL-is Käsud (alates 3. ülesandest), mida sisestad MySql-is ja saadud tulemused kopeeri ka siia töölehele. 1. Loo tabelid RAAMAT ja LUGEJA MySql-is, kui Sa pole seda veel teinud. 2. Sisesta andmed tabelisse RAAMAT vt faili "raamat.txt" ___ 3. Väljasta kogu tabeli RAAMAT andmed. SELECT * FROM `RAAMAT`; 4. Väljasta raamatute pealkirjad, autorid ja ilmumisaastad. SELECT Pealkiri, Autor, Aasta FROM RAAMAT 5
1. Kasutades MySql’i loo andmebaasi andmetabel LAPS, milles on järgmised andmeväljad: LapsID – positiivne täisarv primaarvõtme väli ja automaatselt suurenev ning ei tohi olla null, Nimi sõne, pikkus 40 ja väärtus ei tohi olla null, Pikkus positiivne täisarv, väärtus ei tohi olla null, Synniaasta aasta, SynniLinn positiivne täisarv. CREATE TABLE `LAPS` ( `LapsID` int NOT NULL AUTO_INCREMENT, `Nimi` varchar( 40) NOT NULL, `Pikkus` int( 255) NOT NULL, `Sünniaasta` YEAR, `Synnilinn` INT( 2), PRIMARY KEY ( `LapsID`) ); MariaDB [mittristoiktkhk_uusDatabase]> CREATE TABLE `LAPS` ( -> `LapsID` int NOT NULL AUTO_INCREMENT, -> `Nimi` varchar( 40) NOT NULL, -> `Pikkus` int( 255) NOT NULL, -> `Sünniaasta` YEAR, -> `Synnilinn` INT( 2), -> PRIMARY KEY ( `LapsID`) -> ); Query OK, 0 rows affected ( 0.004 sec) 2. Lisa tabelisse järgnevalt toodud andmed Nimi, Pikkus, Synniaasta, SynniLinn Juku, 179, 2000, 1 Kati, 1
1. Kasutades MySql’i loo andmebaasi andmetabel LAPS, milles on järgmised andmeväljad: LapsID – positiivne täisarv primaarvõtme väli ja automaatselt suurenev ning ei tohi olla null, Nimi sõne, pikkus 40 ja väärtus ei tohi olla null, Pikkus positiivne täisarv, väärtus ei tohi olla null, Synniaasta aasta, SynniLinn positiivne täisarv. CREATE TABLE `LAPS` ( `LapsID` int NOT NULL AUTO_INCREMENT, `Nimi` varchar( 40) NOT NULL, `Pikkus` int( 255) NOT NULL, `Sünniaasta` YEAR, `Synnilinn` INT( 2), PRIMARY KEY ( `LapsID`) ); MariaDB [mittristoiktkhk_uusDatabase]> CREATE TABLE `LAPS` ( -> `LapsID` int NOT NULL AUTO_INCREMENT, -> `Nimi` varchar( 40) NOT NULL, -> `Pikkus` int( 255) NOT NULL, -> `Sünniaasta` YEAR, -> `Synnilinn` INT( 2), -> PRIMARY KEY ( `LapsID`) -> ); Query OK, 0 rows affected ( 0.004 sec) 2. Lisa tabelisse järgnevalt toodud andmed Nimi, Pikkus, Synniaasta, SynniLinn Juku, 179, 2000, 1 Kati, 1
REFERENCES `Oppeained`(`Oppeaine_id`); ALTER TABLE `Hinded` ADD CONSTRAINT `Hinded_fk1` FOREIGN KEY (`Opilase_id`) REFERENCES `Opilased`(`Opilase_id`); ALTER TABLE `Opilased` ADD CONSTRAINT `Opilased_fk0` FOREIGN KEY (`Oppegrupi_id`) REFERENCES `Oppegrupid`(`Oppegrupi_id`); ALTER TABLE `Opilased` ADD CONSTRAINT `Opilased_fk1` FOREIGN KEY (`Op_pileti_nr`) REFERENCES `Opilaspilet`(`Op_pileti_nr`); Lisa siia tabelite loomise käsud ja tabeli struktuuri kirjeldused (käsk describe). describe Hinded; +-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | Paeviku_id | int(11) | NO | PRI | NULL | auto_increment | | Oppeaine_id | varchar(255) | NO | MUL | NULL | | | Opilase_id | int(255) | NO | MUL | NULL | |
php
3 include('config.php'); //andmebaasi paroolid ja ühendus on teises failis
$paring = 'SELECT * FROM albumid';
4 $valjund = mysqli_query($yhendus, $paring);
5 while($rida = mysqli_fetch_array($valjund)){
6 echo 'Album: '.$rida[1].' - '.$rida[2].'
';
7 echo 'Aasta: '.$rida[3].'
';
echo 'Žanr: '.$rida[4].'
';
8 }
9 mysqli_free_result($valjund);
10 mysqli_close($yhendus);
11 ?>
12
04 - PHP ja MySQL - SQL päringud:
andmete lugemine; SELECT (Ülesanne 2)
Teemad
USE
SHOW
SELECT
WHERE
ORDER BY
agregaatfunktsioonid
Sissejuhatus
SQL päringulaused saab laias laastus jagada kaheks grupiks:
DML (Data Manipulation Language) - andmete manipuleerimiskeel. See
osa teostab erinevaid päringuid andmebaasile:
o SELECT - loeb
o UPDATE - uuendab
o DELETE - kustutab
o INSERT INTO - lisab
Kõik kommentaarid