Zde si řekneme, jak přistupovat k datům, jak vytvářet nové záznamy, jak měnit staré záznamy a v neposlední řadě, jak záznamy mazat.
Uloži data do všech sloupců:
INSERT INTO auto VALUES ('Škoda','Octavia',2009,1.6,'červená');
Uloži data jen do vybraných sloupců:
INSERT INTO auto (značka,typ) VALUES ('Škoda','Octavia');
Data se načítají ze souboru 'jmeno_souboru' a ukládají do jmeno_tabulky. Jednotlivé záznamy jsou v uvozovkách a jsou odděleny čárkou. Soubor, ze kterého se čte je uložen na PC.
LOAD DATA LOCAL INFILE 'jmeno_souboru' INTO TABLE jmeno_tabulky;
| Nazev modifikátoru | Popis |
|---|---|
| FIELDS TERMINATED BY 'text' | znak(y) oddělující záznamy, většinou čárka ',' nebo tabulátor '\t'. |
| ENCLOSED BY 'text' | znak(y) uzavírající hodnoty záznamů, většinou uvozovky '"'. |
| LINES TERMINATED BY 'text' | znak(y) ukončující řádku, většinou odentrování '\n'. |
| LOW_PRIORITY | data se uloží do tabulky až s ní nikdo nebude pracovat. |
Funkce UPDATE slouží k editaci již uložených záznamů. Vybere tabulku a sloupec, ve které se bude měnit hodnota, podmínkou je zajištěno, že se vybere správný záznam.
UPDATE jmeno_tabulky SET jmeno_sloupce=nova_hodnota WHERE podminka;
V tabulce auto změníme barvu autu s id rovnému jedné.
UPDATE auto SET barva='zelena' WHERE id=1;
SELECT co_vybrat FROM odkud WHERE podminka;
Výběr ze všech sloupců se provede pomocí znaku *.
SELECT * FROM auto;
Za použití podmínky WHERE se vyberou jen ty záznamy, které splňují danou podmínku. V přikladu níže se vyberou záznamy(všechny sloupce *) z tabulky auto, které mají červenou barvu.
SELECT * FROM auto WHERE barva='cervena';
| Základní porovnání | ||
|---|---|---|
| = | rovná se | SELECT * FROM auto WHERE id=1; |
| <> | nerovná se | SELECT * FROM auto WHERE id<>1; |
| != | nerovná se | SELECT * FROM auto WHERE id!=1; |
| < | menší | SELECT * FROM auto WHERE id<1; |
| <= | menší nebo rovno | SELECT * FROM auto WHERE id<=1; |
| > | větší | SELECT * FROM auto WHERE id>1; |
| >= | větší nebo rovno | SELECT * FROM auto WHERE id>=1; |
| <=> | rovno i hodnoty NULL | SELECT * FROM auto WHERE id<=>1; |
| Rozšířené porovnání | ||
| x BETWEEN a AND b | zjistí jestli je x mezi hodnotami a, b | SELECT * FROM auto WHERE rok_vyroby BETWEEN 2005 AND 2009; |
| x NOT BETWEEN a AND b | zjistí jestli je x mimo hodnoty a, b | SELECT * FROM auto WHERE rok_vyroby NOT BETWEEN 2005 AND 2009; |
| IN(kde_hledat) | hledá hodnoty dle seznamu | SELECT * FROM auto WHERE rok_vyroby IN(2007,2008,2009); |
| NOT IN(kde_hledat) | hledá hodnoty mimo zadnaný seznam | SELECT * FROM auto WHERE rok_vyroby NOT IN(2007,2008,2009); |
| IS NULL | zjistí záznamy s nevyplněnou buňkou | SELECT * FROM auto WHERE rok_vyroby IS NULL; |
| IS NOT NULL | zjistí záznamy s vyplněnou buňkou | SELECT * FROM auto WHERE rok_vyroby IS NOT NULL; |
| LIKE | zjistí záznamy dle regulárního výrazu | SELECT * FROM auto WHERE rok_vyroby Like "2%"; |
| NOT LIKE | zjistí záznamy neodpovídající regulárnímu výrazu | SELECT * FROM auto WHERE rok_vyroby NOT Like "2%"; |
výsledkem je pravda, jestliže x odpovídá regulárnímu výrazu
výsledkem je pravda, jestliže x neodpovídá regulárnímu výrazu
| x* | počet výskytů písmena x je 0 nebo více |
| xy* | počet výskytů písmena y je 0 nebo více |
| xyz* | počet výskytů písmena z je 0 nebo více |
| x? | počet výskytů písmena x je 0 nebo 1 |
| x+ | počet výskytů písmena x je 1 nebo více |
| x{n} | počet výskytů písmena x je n |
| x{n,m} | počet výskytů písmena x je n až m |
| x{n,} | počet výskytů písmena x je n nebo více |
| ^x | řetězec začíná písmenem x |
| x$ | řetězec končí písmenem x |
| . | jakýkoliv jeden znak |
| [a-z] | jakýkoliv znak mezi znaky a až z |
| [0-9] | jakékoliv číslo mez 0 a 9 |
| [abcd123] | jaký koliv znak uvedený v závorce |
| | | oddělovač řetězců v regulárním výrazu |