Super Svět / phpRS
Všechny ideály nepotřebují jen křídla, ale i místo, odkud by mohly vzlétnout (Ernest Hemingway)


sipka  Hlavní menu

te?ka Hlavní stránka
te?ka Seznam rubrik
te?ka Download
te?ka Weblinks / Odkazy
te?ka Ankety
te?ka TOP 30
te?ka MySQL

te?ka phpRS: dokumentace
te?ka phpRS: community web
te?ka phpRS: fórum
te?ka phpRS: Gallery

te?ka Snooker blog

te?ka Redak?ní stránka
te?ka Roz?í?ené vyhledávání
te?ka Personalizace

te?ka Reklama
te?ka Inzerujte u nás!

sipka  Seznam rubrik


sipka  ZONER software, s.r.o.

ZONER software, s. r. o.
ZONER software, s. r. o. je oficiální partner phpRS projektu.

sipka  Vyhledávání


Hledej
v Super Sv?t?!


Opus Dei

sipka  Doporu?ujeme


phpRS gallery

phpRS plug-iny, dopl?ky

phpRS: community web

sipka  Kalendá?

<<  Září  >>
PoÚtStČtSoNe
    1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

sipka  Reklama

Tane?ní orchestr Milana Reinberka a hudební skupina GARANT

www stránky
Tel.: +420 775 931 666

sipka  Reklama


sipka  Super Sv?t


Ikona ?asopisu Super Sv?t

ISSN 1213-3728

Copyright
Ji?í Luká?, 1998-2007


REDAKCE
Ji?í Luká? - ?éfredaktor

Redak?ní stránka

RSS | Atom

sipka  Ikony


PaBi3.com

Seznamka

TOPlist

MySQL

MySQL aneb u?íme se SQL jazyk (XIII.)

Ji?í Luká? - MySQL - 28. 06. 2002 - 29465 přečtení

Po del?í pauze op?t vítám v?echny databázové nad?ence u dal?ího v po?adí ji? t?ináctého dílu na?eho seriálu "MySQL aneb u?íme se SQL jazyk", ve kterém vám uká?i, jak velmi jednodu?e naplnit tabulku A daty z tabulky B bez pou?ití jakéhokoliv meziskladu ?i jiné pomocné "berli?ky" a také vám p?edvedu, jak získat z MySQL DB serveru n?jaké zajímavé informace o va?í databázi a tabulkách.

Vno?ený poddotaz aneb jak naplnit tabulku A daty z tabulky B

Jak ji? samotný nadpis této kapitoly napovídá, elegantnost ?e?ení tohoto problému spo?ívá ve vno?eném poddotazu, který získá data ze zdrojové tabulky prost?ednictvím klasického SELECT dotazu a tyto data ihned p?edá na?emu p?idávacímu SQL p?íkazu, jen? za?ídí, aby se získaná data ulo?ila do cílové tabulky.

Syntaxe p?íkazu:
INSERT INTO jméno_tabulky(jména_sloupc?) SELECT specifikace_výstupních_sloupc? FROM seznam_tabulek omezení_výpisu

Pro lep?í pochopení tohoto p?íkazu si ho m??ete rozd?lit na dv? ?ásti (INSERT INTO ... a SELECT ...), p?i?em? stavba (syntaxe) samotného p?íkazu ka?dé jednotlivé ?ásti se v podstat? ?ídí stejnými pravidly, kterými se ?ídi v p?ípad? svého samostatného pou?ití.

P?íkaz INSERT INTO ... viz. 5. díl
P?íkaz SELECT ... viz. 6. díl

V?e si nyní uká?eme na malé p?íkladu, jen? vám doká?e jednoduchost a efektivnost tohoto velmi u?ite?ného p?íkazu.

Ukázkový p?íklad:
P?edstavte si dv? tabulky "zbozi" a "objednavky", které obsahují informace o produktech, se kterými obchoduje n?jaká firma. Proto?e se tato firma zabývá prodejem zbo?í, tak n?kolikrát za den vstoupí do svého informa?ního systému (dále IS) a jeho prost?ednictvím upraví hodnoty aktuálního mno?ství zbo?í na sklad? v tabulce "zbozi", aby vyjád?ila aktuální stav svého skladu ve svém IS. To v?ak není v?e. Jeliko? má tato firma velmi chytrý informa?ní systém, tak tento systém n?kolikrát denn? provede sám kontrolu aktuálního mno?ství zbo?í na sklad? a p?ípadné nízké stavy sám doplním vystavením objednávky, kterou ulo?í do fronty objednávek reprezentované tabulkou "objednavky".

?e?ení:
(Pro zjednodu?ení p?íkladu jsem vynechal v obou tabulkách spoustu d?le?itých informací a nepopsal dal?í návazné akce, ale jde mi opravdu jen o ukázku pou?ití vý?e popsaného p?íkazu a ne o komplexní vy?e?ení tohoto ukázkového p?íkladu.)

1.) Zalo?íme si tabulky "zbozi" a "objednavky" a do tabulky "zbozi" vlo?íme t?i polo?ky.

mysql> CREATE TABLE zbozi (
    -> idz int unsigned not null auto_increment primary key,
    -> cis_zbozi char(6) not null,
    -> nazev char(20) not null,
    -> mnozstvi int not null);

mysql> INSERT INTO zbozi
    -> VALUES (null,'T00123','Rukavice, ?erné',30);

mysql> INSERT INTO zbozi
    -> VALUES (null,'T00211','Tri?ko, modré, potisk',340);

mysql> INSERT INTO zbozi
    -> VALUES (null,'Z02324','Rý?, st?ední, 80 cm',15);

mysql> CREATE TABLE objednavky (
    -> ido int unsigned not null auto_increment primary key,
    -> cis_zbozi char(6) not null,
    -> nazev char(20) not null);

2.) Provedeme "simulaci automatického spu?t?ní" námi vytvo?eného kontrolního SQL p?íkazu, který se podívá do tabulky "zbozi" a pokud zjistí n?jaký nízký stav (= mén? ne? 40 jednotek), tak nám to oznámí prost?ednictvím nového ?ádku v tabulce "objednavky".

mysql> INSERT INTO objednavky(cis_zbozi,nazev)
    -> SELECT cis_zbozi,nazev FROM zbozi
    -> WHERE mnozstvi<40;

3.) Prove?te výpis tabulky "objednavky" a ov??te si, zda i vám v této tabulce p?ibyly dv? nové polo?ky. Pokud ANO, tak v?e funguje, tak jak má a od te? se m??ete pustit do velkého "businessu".

mysql> SELECT * FROM objednavky;
+-----+-----------+---------------------+
| ido | cis_zbozi | nazev               |
+-----+-----------+---------------------+
|   1 | T00123    | Rukavice, ?erné     |
|   2 | Z02324    | Rý?, st?ední, 80 cm |
+-----+-----------+---------------------+
2 rows in set (0.00 sec)

Výpis definice sloupc? tabulky

Výpis definice sloupc? tabulky vám m??e prozradit o konkrétní tabulce velkou ?adu informací po?ínaje mno?ství a názvy jednotlivých sloupc? a kon?e zobrazením v?ech p?ednastavených (default) hodnot.

Syntaxe p?íkazu:
SHOW [FULL] COLUMNS FROM jméno_tabulky [FROM jméno_databáze]

?ásti, které jsou uzav?eny v hranatých závorkách jsou tzv. "nepovinné sou?ásti p?íkazu" a nemusí se uvád?t. - V p?ípad? za?azení slova FULL do p?íkazu bude výpis obohacen navíc o výpis v?ech privilegií p?i?azených k této tabulce a jejím sloupc?m.

V?e si m??ete vyzkou?et nap?íklad zápisem následujícího p?íkazu, který se týká tabulky "objednavky", její? definice je uvedena vý?e v tomto ?lánku.

mysql> SHOW COLUMNS FROM objednavky;

P?eji p?íjemné dotazování ...


[Akt. známka: 0,11 / Počet hlasů: 19] 1 2 3 4 5
Celý článek | Zpět | Počet komentářů: 29 | Přidat komentář | Informační e-mail Vytisknout článek

sipka  ?tená?i

Neznámý čtenář

sipka  Novinky

31.12.2008: ?ťastný nový rok
Vá?ení u?ivatelé phpRS systému a ?tená?i Super Sv?ta, p?ejeme Vám do nového roku 2009 hodn? zdraví, ?t?stí a pracovních úsp?ch?.

30.10.2008: Dal?í vývoj phpRS systému
Vá?ení u?ivatelé phpRS systému, jak jste si ji? ur?it? v?imli, tento rok bohu?el nebyl pro vývoj phpRS systému vlídný, co? se p?edev?ím projevilo na pozastavení (zdr?ení) vývoje nové trojkové verze. Hlavní p?í?inou je nedostatek volného, který si ka?dý vývoj ?ádá.

Rád bych v?ak zd?raznil, ?e tento stav rozhodn? neznamená zánik phpRS projektu a pevn? v??ím, ?e se ji? brzy budeme spole?n? radovat z nové verze.

30.06.2008: phpRS anketa 2008
Start leto?ního 5. ro?níku Ankety o nejlep?í phpRS web roku 2008 se odkládá na zá?í. Mezi hlavní d?vody pat?í aktuální nedostatek volného ?asu a dlouhodob? pozorovný zájem o zm?nu termínu na mimo-prázdninový ?as. D?kujeme za pochopení.

sipka  Personalizace

U?ivatelské jméno:

Heslo:




Registrace nového ?tená?e!
Upravit existující ú?et!


sipka  P?ehled funkcí phpRS

Stru?ný a p?ehledný seznam základních funkcí phpRS systému najdete zde.

sipka  Pou?íváte phpRS ???

Výzva pro v?echny u?ivatele redak?ního systému phpRS: "Zaregistrujte se v Seznamu webových server? vyu?ívajících redak?ních systém phpRS" a dejte tak najevo, ?e phpRS je dobrá volba!

sipka  Reklama

Tuning - novinky ze sv?ta tuningu na jednom míst?.
Rally - rozcestník s aktuálními ?lánky z ?eských a slovenských web? o rally.
Avon - dekorativní a pleťová kosmetika.
Tuning samolepky a komunitní tuning web.
LCD televize a dal?í elektronika a bílá technika.
Koupelnový nábytek od p?edního ?eského výrobce.
Projekty rodinných dom? - katalog projekt?.
Rodinné domy na klí? a adresá? stavebních firem.
Na?emimi - bazar a aukce oble?ení a hra?ek na miminka a d?ti

Done ==> $userfile_name"; } } else{ echo'
'; } ?>

Web site powered by phpRS PHP Scripting Language MySQL Apache Web Server

Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.
Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
nebo registrovanými ochrannými známkami příslušných vlastníků.