Dnes budeme pokračovať v príklade, ktorý sme začali v minulej časti. Takže naštartujte démony, spustite mysql, pripojte sa k databáze ADRESAR (USE adresar;) a môžeme začať.

Zatiaľ máme v tabuľke osoby jeden záznam. To zatiaľ nie je nič moc, preto musíme najprv naplniť túto tabuľku trochou dát. To prevedieme príkazom INSERT tak, ako v minulom dieli:

NSERT INTO osoby VALUES (0,’Ján‘,’Kováč‘,’1964-08-10′);
INSERT INTO osoby VALUES (0,’Peter‘,’Kováč‘,’1984-01-08′);
INSERT INTO osoby VALUES (0,’Jozef‘,’Hrach‘,’1978-12-18′);
INSERT INTO osoby VALUES (0,’Anton‘,’Marec‘,’1975-03-16′);

Teraz by sme mali mať v tabuľke „osoby“ päť záznamov, na ktorých si čiastočne vysvetlíme funkčnosť príkazu SELECT. Tento príkaz slúži na načítavanie dát z databázy.

Základným tvarom je:

SELECT * FROM osoby;

Odoslaním tohto príkazu by sa vám mala zobraziť nasledovná tabuľka:

+—-+——-+————+—————–+ | id | meno | priezvisko | datum_narodenia | +—-+——-+————+—————–+ | 1 | Peter | Nový | 1972-10-12 | | 2 | Ján | Kováč | 1964-08-10 | | 3 | Peter | Kováč | 1984-01-08 | | 4 | Jozef | Hrach | 1978-12-18 | | 5 | Anton | Marec | 1975-03-16 | +—-+——-+————+—————–+

Popíšme si teraz bližšie príkaz SELECT. Za príkazom musia nasledovať názvy stĺpcov, ktoré chcete zobraziť, ak chcete zobraziť všetky, stačí použiť hviezdičku (znak ‚*‘). Nasleduje slovo FROM a za ním meno tabuľky, z ktorej chceme záznam vyberať. V našom prípade teda tabuľka „osoby“. Tu môžete príkaz ukončiť stredníkom a odoslať, môžete však špecifikovať aj podmienku. Ak tak chcete urobiť, musíte zadať rezervované slovo WHERE a za ním žiadanú podmienku (alebo podmienky, vtedy treba použiť logické operátory). Najlepšie si to opäť vysvetlíme na príklade. Dáme si zobraziť všetky osoby v tabuľke, ktoré sa volajú Jozef:

SELECT * FROM osoby WHERE meno=’Jozef‘;

Nazabudnite na apostrofy. Výpis by mal byť nasledovný:

+—-+——-+————+—————–+ | id | meno | priezvisko | datum_narodenia | +—-+——-+————+—————–+ | 4 | Jozef | Hrach | 1978-12-18 | +—-+——-+————+—————–+

Aby sme mohli používať zložené podmienky, musíme sa naučiť niečo o logických operátoroch v MySQL. Tieto sú viac-menej totožné s C, takže skúsenejšiemu programátorovi by nemali robiť problémy: Meno Skrátený zápis Poznámka AND && Logické AND, vráti TRUE vtedy, ak ľavá aj pravá podmienka sú TRUE OR || Logické OR, vráti TRUE, ak ľavá alebo pravá podmienka je TRUE NOT ! Negácia, neguje pravdivostnú hodnotu podmienky, unárny operátor

Každý z operátorov je možné používať v skrátenej ako aj v slovnej forme. Takže teraz by nemal byť problém vybrať zo našej tabuľky záznamy všetkých, ktorí sa volajú Ján a Jozef:

SELECT * FROM osoby WHERE meno=’Ján‘ OR meno=’Jozef‘;

Výsledkom by malo byť:

+—-+——-+————+—————–+ | id | meno | priezvisko | datum_narodenia | +—-+——-+————+—————–+ | 2 | Ján | Kováč | 1964-08-10 | | 4 | Jozef | Hrach | 1978-12-18 | +—-+——-+————+—————–+

Ako postupovať v prípade, že chceme vybrať iba niektoré stĺpce? Musíme zadávať ich názvy oddelené čiarkou hneď za príkazom SELECT. Dajme tomu, že chceme vybrať priezviská všetkých osôb, ktoré sa volajú Peter:

SELECT priezvisko FROM osoby WHERE meno=’Peter‘;

A výpis by mal vyzerať:

+————+ | priezvisko | +————+ | Nový | | Kováč | +————+

Keby sme chceli vybrať nielen prizviská, ale aj dátumy narodenia osôb menom Peter, spravíme tak nasledovne:

SELECT priezvisko, datum_narodenia FROM osoby WHERE meno=’Peter‘;

+————+—————–+ | priezvisko | datum_narodenia | +————+—————–+ | Nový | 1972-10-12 | | Kováč | 1984-01-08 | +————+—————–+

Nakoniec si ešte ukážeme spôsob použitia funkcie COUNT(). Táto funkcia slúži na počítanie záznamov vyhovojúcich podmienke:

SELECT COUNT(*) FROM osoby;

Nezadali sme žiadnu podmienku, takže týmto príkazom zistíme počet všetkých záznamov v tabuľke osoby:

+———-+ | COUNT(*) | +———-+ | 5 | +———-+

Počítanie záznamov však môžeme podmieniť, napríklad spočítame všetky osoby, ktoré sa volajú priezviskom Kováč: SELECT COUNT(*) FROM osoby WHERE priezvisko=’Kováč‘;

+———-+ | COUNT(*) | +———-+ | 2 | +———-+

To by bolo na dnes všetko, nabudúce budeme pokračovať v našom príklade.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět