Nacházíte se: tvorba webu :: mysql :: prace_s_daty

MySQL - Práce s daty

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.

Vytváření nových záznamů

Klasické vkládání dat

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');

Vkládání dat ze souboru

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;

Modifikátory

Nazev modifikátoruPopis
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_PRIORITYdata se uloží do tabulky až s ní nikdo nebude pracovat.


Úprava záznamů

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;


Výběr záznamů

  SELECT co_vybrat FROM odkud WHERE podminka;

Výběr všech dat "*"

Výběr ze všech sloupců se provede pomocí znaku *.

  SELECT * FROM auto;

Výběr dat za použití podmínky

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';


Podmínkové operátory

Základní porovnání
=rovná seSELECT * FROM auto WHERE id=1;
<>nerovná seSELECT * FROM auto WHERE id<>1;
!=nerovná seSELECT * FROM auto WHERE id!=1;
<menšíSELECT * FROM auto WHERE id<1;
<=menší nebo rovnoSELECT * FROM auto WHERE id<=1;
>většíSELECT * FROM auto WHERE id>1;
>=větší nebo rovnoSELECT * FROM auto WHERE id>=1;
<=>rovno i hodnoty NULLSELECT * FROM auto WHERE id<=>1;
Rozšířené porovnání
x BETWEEN a AND bzjistí jestli je x mezi hodnotami a, bSELECT * FROM auto WHERE rok_vyroby BETWEEN 2005 AND 2009;
x NOT BETWEEN a AND bzjistí jestli je x mimo hodnoty a, bSELECT * FROM auto WHERE rok_vyroby NOT BETWEEN 2005 AND 2009;
IN(kde_hledat)hledá hodnoty dle seznamuSELECT * FROM auto WHERE rok_vyroby IN(2007,2008,2009);
NOT IN(kde_hledat)hledá hodnoty mimo zadnaný seznamSELECT * FROM auto WHERE rok_vyroby NOT IN(2007,2008,2009);
IS NULLzjistí záznamy s nevyplněnou buňkouSELECT * FROM auto WHERE rok_vyroby IS NULL;
IS NOT NULLzjistí záznamy s vyplněnou buňkouSELECT * FROM auto WHERE rok_vyroby IS NOT NULL;
LIKEzjistí záznamy dle regulárního výrazuSELECT * FROM auto WHERE rok_vyroby Like "2%";
NOT LIKEzjistí záznamy neodpovídající regulárnímu výrazuSELECT * FROM auto WHERE rok_vyroby NOT Like "2%";


Regulární výrazy

x REGEXP výraz,x RLIKE výraz, x LIKE výraz

výsledkem je pravda, jestliže x odpovídá regulárnímu výrazu

x NOT REGEXP výraz,x NOT RLIKE výraz, x NOT LIKE výraz

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
úvod | tvorba webu | ostatní | služby | návštěvní kniha | kontakt