V dnešnom dieli:
* Vkladanie do tabuliek
* Príkaz SELECT
* Nulové Hodnoty (NULL)
mysql> USE skuska;
Odpoveď servera:
Databaze changed
Vkladanie do tabuliek
Záznamy do tabuliek sa pridávajú pomocou príkazu INSERT . Hodnoty sú uzatvorené do úvodzoviek (" ") a sú oddelené čiarkou. Pred hodnotami sa musí použiť kľúčové slovo VALUES (ukážeme si za chvíľku). Všetky vkladané hodnoty sú uzavreté do jedného páru okrúhlych zátvoriek.
Našu tabuľku programovanie naplníme nasledujúcimi hodnotami.
php - Programovanie v PHP
mysql - Databázy
html - Tvorba stránok
datum - 2005-12-11 (dátum typu date vždy zadávame v tvare RRRR-MM-DD)
id - Do stĺpca id nezadávame nič, pretože je nastavený na AUTO_INCREMENT (čiže sa nám hodnota buďe zvyšovať sama, vždy o 1).
Samotný príkaz vyzerá takto:
mysql> INSERT INTO programovanie(php,mysql,html,datum)
-> VALUES("Programovanie v PHP",
-> "Databázy",
-> "Tvorba stránok",
-> "2005-12-11");
Odpoveď servera:
Query OK, 1 row affected (0.05 sec)
Takýmto zápisom sme si najprv definovali mená stĺpcov, do ktorých sme vložili záznamy. Použitie tejto metódy môže skýtať nasledujúce výhody:
- môžeme nastaviť, v jakom poradí budeme hodnoty do stĺpcov vkladať
- je dosť veľká pravdepodobnosť, že narobíme menej chýb
- ID sa nám samozrejme zvyšuje automaticky
Druhým spôsob zápisu môže vyzerať takto:
mysql> INSERT INTO programovanie
-> VALUES ("Programovanie v PHP",
-> "Databázy",
-> "Tvorba stránok",
-> "2005-12-11",
-> "");
Odpoveď servera:
Query OK, 1 row affected (0.13 sec)
Aby som nezabudol, existuje ešte aj jeden spôsob vkladania dát do tabuľky: Najprv si musíme do textového editoru vytvoriť dáta:
Programovanie v PHP–>Databázy–>Tvorba stránok–>2005-12-11
Kďe “–> “ predstavuje tabulátor. Tabuľku si uložíme ako programovanie.txt
Teraz je treba len nahrať do MySQL pomocou výrazu LOAD DATA
Syntaxa:
LOAD DATA INFILE “meno_suboru“ INTO TABLE meno_tabulky;
Presvedčite sa, či zdrojový súbor môžu čítať všetci – teda aby mal chmod meno_suboru 644.
Ďalej sa používa výraz LOAD DATA LOCAL. Rozdiel medzi LOCAL a INFILE spočíva v tom, že v prípade druhého menovaného môžeme čítať zo zdrojového súboru, ale v prvom prípade čítame len z aktuálneho klienta.
Príkaz SELECT
Teraz, keď sme už vložili nejaké dáta, poďme sa pozrieť akým spôsobom sa dajú zobraziť.Príkaz SELECT je jeden z najobvyklejších príkazov v MySQL na zobrazovanie dát.
Syntaxa vyzerá asi takto:
SELECT stlpec1, stlpec2 ...
FROM meno_tabulky;
Takisto si môžeme zvoliť jeden až všetky stĺpce, pričom ich oddeľujeme čiarkou. Pre získanie všetkých informácií z našej tabuľky programovanie slúži výraz:
mysql>SELECT*FROM programovanie;
Odpoveď servera:
+---------------------+----------+----------------+------------+----+
| php | mysql | html | datum | ID |
+---------------------+----------+----------------+------------+----+
| Programovanie v PHP | Databázy | Tvorba stránok | 2005-12-11 | 1 |
| Programovanie v PHP | Databázy | Tvorba stránok | 2005-12-11 | 2 |
+---------------------+----------+----------------+------------+----+
2 rows in set (0.13 sec)
Takže to sú nami dvakrát vložené dáta do tabuľky programovanie, keby sme chceli zobraziť len stĺpec php, náš zápis by vyzeral takto:
mysql>SELECT php FROM programovanie;
Odpoveď servera:
+---------------------+
| php |
+---------------------+
| Programovanie v PHP |
| Programovanie v PHP |
+---------------------+
2 rows in set (0.06 sec)
V prípade, že chceme zobraziť viacej stĺpcov musíme ich oddeliť (,) čiarkou.
mysql>SELECT php,html FROM programovanie;
Odpoveď servera:
+---------------------+----------------+
| php | html |
+---------------------+----------------+
| Programovanie v PHP | Tvorba stránok |
| Programovanie v PHP | Tvorba stránok |
+---------------------+----------------+
2 rows in set (0.00 sec)
Nulové Hodnoty (NULL)
Niekedy sa stáva, že budeme chcieť vložiť záznam, ktorý bude úplne kompletný. Na to nám slúži špeciálne slovíčko NULL. Je to hodnota, ktorá značí, že pole neni prázdne, obsahuje len neznámu hodnotu. Povedzme, že do našej tabuľky programovanie sa chystáme vložiť nový záznam, ale nevieme (alebo nás nenapadne), čo by sme mali vložiť do stĺpca php. Tím, že použijeme hodnotu NULL dosiahneme toho, že záznam pôjde uložiť.Takže teraz skúsme bez problémov použiť.
! POZOR: Hodnota NULL sa nedáva do apostrofu !
mysql> INSERT INTO programovanie
-> VALUES(NULL,
-> 'Jazyk SQL',
-> 'Tag body',
-> '2005-12-26',
-> '');
Odpoveď servera:
Query OK, 1 row affected (0.06 sec)
Pozrime sa na vložené dáta:
mysql> select*from programovanie;
Odpoveď servera:
+---------------------+-----------+----------------+------------+----+
| php | mysql | html | datum | ID |
+---------------------+-----------+----------------+------------+----+
| Programovanie v PHP | Databázy | Tvorba stránok | 2005-12-11 | 1 |
| Programovanie v PHP | Databázy | Tvorba stránok | 2005-12-11 | 2 |
| NULL | Jazyk SQL | Tag body | 2005-12-26 | 3 |
+---------------------+-----------+----------------+------------+----+
3 rows in set (0.01 sec)
Použitím výrazu NOT NULL u stĺpca znamená to, že tento stĺpec musí vždy obsahovať nejaké dáta.
V ďalšom dieli sa naučíme používať príkaz WHERE, COUNT, logické operátori ako sú AND a OR, ďalej doplňovanie a upravovanie už vytvorených tabuliek, mazanie dát z tabuliek atď...
Úloha číslo 2
- Vytvorte tabuľku php
- V nej vytvorte stĺpce: funkcie, retazce, cookies, sessions ,premenne
- Nezabudnite na dátové premenné, a po vytvorení tabuľky si ju vypíšte príkazom DESCRIBE
- Do každej z nich vložte aspoň 5 záznamov
- Vyskúšajte si aj nulove a nenulové hodnoty
- Po každom vložení dát si zobrazte vaše dáta príkazom SELECT