osobní stránky / internetová prezentace ver.2.0
Panoramatická fotka v záhlaví stránky

Čtvrté cvičení

Vytvořte pomocí jazyka SQL tabulku s názvem zamestnanci s následujícími sloupci: jmeno, rc, plat, odd_cislo (vhodným způsobem zvolte datové typy pro tyto sloupce!) a tabulku s názvem vyb_rizeni se sloupci: jmeno, rc, hodnoceni (hodnocení u výběrového řízení 1-5 bodů). Pomocí příkazu INSERT vložte do obou tabulek 5 nových řádků (tak aby tam byly - zejména ve sloupci hodnoceni - různé hodnoty). Nakonec vložte do tabulky zamestnanci řádky z tabulky vyb_rizeni, u kterých platí podmínka hodnoceni>=4.

Příkaz SELECT

SELECT co 
FROM nazev_tabulky  
WHERE podminka 
ORDER BY zpusob_razeni 
LIMIT limit_výběru

SELECT * FROM → vypiš vše

SELECT nazev_sloupce FROM → vypiš pouze údaje v těchto sloupcích, jednotlivé sloupce oddělujeme čárkou

WHERE → logická podmínka, =, >, <, ⇒. V případě logické podmínky zahrnující textové pole (text, varchar apod.) je zapotřebí specifikovaný text vložit do anglických rovných uvozovek. Více o podmínce WHERE v dalších cvičeních (agregační funkce apod.)

ORDER BY nazev_sloupce → seřaď podle sloupce (DESC pro opačné řazení)

LIMIT číslo → vrať pouze daný počet řádků

INSERT – vkládání nových řádků

Syntaxe příkazu

INSERT INTO jmeno.nazev_tabulky
VALUES (hodnota 1.sloupce,hodnota 2.sloupce..)

Příklad:

Do tabulky oddeleni, která obsahuje sloupce odd_cislo (datový typ INTEGER), odd_nazev (VARCHAR (20)), odd_sidlo (VARCHAR (50)), odd_patro (INTEGER) chceme přidat nový řádek – personální oddělení s číslem 1, jehož adresa bude Kotlářská 2, 611 37 Brno, 2. patro.

INSERT INTO jmeno.oddeleni
VALUES (1,'personalni','Kotlářská 2, 611 37 Brno',2)

Poznámka:

  • Pro vkládání neznámé hodnoty lze použít klíčové slovo NULL (v případě, že to je možné).
INSERT INTO jmeno.oddeleni
VALUES (NULL,NULL,'Kotlářská 2, 611 37 Brno',2)
  • Hodnoty lze vkládat do nového řádku i v jiném pořadí – v tomto případě je nutné uvést pořadí jednotlivých sloupců.
INSERT INTO jmeno.oddeleni (odd_nazev,odd_patro,odd_sidlo,odd_cislo)
VALUES ('personalni',2,'Kotlářská 2, 611 37 Brno',1)
  • V případě hodnoty NULL je možné konkrétní sloupec vynechat.
INSERT INTO jmeno.oddeleni (odd_patro,odd_sidlo)
VALUES (2,'Kotlářská 2, 611 37 Brno')

INSERT – přidání řádků z jiné tabulky

Pomocí příkazu INSERT je možné naplňovat řádky tabulky hodnotami z jiné tabulky – použitím příkazu SELECT, v němž definujeme řádky a sloupce, které chceme do tabulky přenést.

Syntaxe příkazu:

INSERT INTO nazev_tabulky (sloupec1, sloupec2)
SELECT /sloupec1, sloupec2/ FROM /nazev_tabulky2/ WHERE /podminka/  

Poznámka:

vkládaná data musí mít stejnou strukturu (počet sloupců i jejich datové typy) jako cílová tabulka.

V případě vkládání více řádků je postup následující:

INSERT INTO jmeno.nazev_tabulky
VALUES (hodnota 1.sloupce,hodnota 2.sloupce..),
(hodnota 1.sloupce,hodnota 2.sloupce..),

Smazání řádků z tabulky

DELETE FROM jmeno.nazev_tabulky WHERE podmínka

Pokud chcete zadat podmínku že buňka je prázdná (/buňka/ IS NULL) nebo naopak není prázdná (/buňka/ IS NOT NULL)

Smazání tabulky

DROP TABLE jmeno.nazev_tabulky
databaze/ctvrte_nove.txt · Poslední úprava: 10.11.2008 15:24 autor: zbynek
Tento web používá technologie Dokuwiki a OATG
© 1997 - 2012, Zbyšek Podhrázský, podhrazsky@zbych.cz