Grafika publishing webtip.cz grafika.cz mujiPod.cz mujmac.cz fotografovani.cz printing.cz builder.cz galerie
webtip.cz
adresář  | práce  | diskuse  | redakce  | inzerce
 
 


  Jak nevyplašit SQL díl 3. - DELETE, UPDATE, ...
o autorovi 
poslat mailem 
tisknout článek 
aktuální rubrika 
Pokud se chcete naučit tvořit alespoň jednoduché programy využívající SQL příkazy a přitom se s tímto databázovým jazykem setkáváte poprvé, jste tu správně.

Čevelíček Marek - 20.02.2002 - clanek - Rubrika: PHP
Předchozí díl: Jak nevyplašit SQL díl 2. - SELECT
Seriál: 
Následující díl: Jak nevyplašit SQL díl 4. - Bazar - příprava aplikace

V předcházejících dílech jste se seznámili s tvorbou tabulek, vkládáním informací a jejich vybíráním. Občas se vám ale stane, že budete potřebovat určité informace z databáze odstranit a proto je tu dnešní díl. Seznámím vás trochu s příkazem DELETE a nakonec ještě s UPDATE, pomocí kterého, jak asi správně tušíte, můžete informace měnit a aktualizovat.

DELETE je velmi jednoduchý příkaz a pokud jste pilně studovali předcházející díl o SELECTu, bude pro vás jeho zvládnutí hračkou. Má totiž úplně stejnou syntaxi, jako SELECT a dokonce u něj můžete využívat některé z kauzulí (jako například WHERE, HAVING a matematické operátory). Takže vám zde uvedu příklady jeho použití:

Dejme tomu, že chceme v obchodě zredukovat ceny pod 5000 kč a navíc nemáme rádi odběratele začínající na J a mající tři písmena ve jménu, proto tyto záznamy zredukujeme:

DELETE FROM zakazky WHERE (cena > 5000) OR (odberatel LIKE 'J__')

Zde bych vás na něco upozonil a je to následující zápis:

DELETE FROM zakazky

Takto se totiž můžete zbavit všech vašich pracně nasbíraných informací jednou ranou.

Nyní přejdu k vysvětlení činnosti UPDATE. Rekněme, že máme v podniku slevu 200 kč na výrobky dražší, než 2000 kč. Nejlépe to pochopíte na následujícím příkladu:

UPDATE zakazky SET cena = cena - 200 WHERE cena > 2000

Funkce je tato: Změní údaje v tabulce zakazky, konkrétně ve sloupci cena sníží její hodnotu o 200, pokud obsahuje hodnotu větší než 2000.

Na závěr povídání o SQL by vás možná mohlo zajímat, jak smazat celou tabulku:

DROP TABLE zakazky

Párkrát jsem se setkal s případem, že někdo chtěl smazat obsah tabulky a nechtěně si spletl "DELETE FROM zakazky" s příkazem "DROP TABLE zakazky". Potom nemohl přijít na to, proč mu do tabulky nejdou vkládat data. Existuje ještě jeden příkaz "DROP DATABASE nazev_db" a ten vám smaže celou databázi.

V prvním dílu seriálu o SQL jsem vám ukázel, jak se SQL příkazy používají ve skriptech. Nyní, když už umíte základy, vám také ukážu, jak si můžete nechat záznamy zobrazit.

<?
@$spojeni = MySQL_Connect (“sql_server“, “uživatel“, “heslo“);
// jako server si na zkoušku zvolte localhost
if (!$spojeni):
echo “Nepodařilo se spojit s databází. </body></html>“;
exit;
endif;
@$select = MySQL_Select_DB("nazev_databaze");
// vybrat pracovní databázi
if (!$select):
echo “Nepodařilo se vybrat databázi. </body></html>“;
exit;
endif;
@$prikaz = MySQL_Query("a zde bude váš SQL příkaz“);
// provést příkaz
if (!$prikaz):
echo “Nepodařilo se provést příkaz. </body></html>“;
exit;
endif;
echo "<table border=\"1\" cellspacing=\"1\" cellpadding=\"2\" bordercolor=\"black\">";
while ($show = MySQL_Fetch_Row($prikaz))
// uložit záznamy do proměnné $show s numerickými indexy a provést výpis
{
echo "<tr><td bgcolor=\"#eeeeee\">".$show[0]."</td><td>".$show[1]."</td><td bgcolor=\"#eeeeee\">".$show[2]."</td><td>".$show[3]."</td></tr>";
// výpis dat bude probíhat, dokud $show bude mít nějakou hodnotu
}
while(false);
echo "</table>";
MySQL_Close();
?>

Použili-li byste na naši tabulku jako SQL příkaz "SELECT * FROM zakazky", dostali byste tento výsledek:

rádio1500Jiří Bezrádia1
pračka8000Jana Malá2
mixér2000Jitka Hrozná3
telefon4200Lukáš Boss4
okno1550Jan Novák5

Tímto dnešní díl končí a já vám ještě prozradím, že aplikací, kterou s vámi příště začnu programovat, bude inzertní centrum. Hezký den.

Čevelíček Marek


Hodnocení článku: -1- -2- -3- -4- -5-  Aktuální hodnocení: 2.49 (2509)

Relevantní články
Žádné články


Příspěvky do diskuse o aktuálním článku

K tomuto článku zatím nejsou žádné příspěvky
 

 

  O vydavateli | Kontakt | Ceník reklamy | Ochrana osobních dat
©2002 Grafika Publishing. Všechna práva vyhrazena!