Dotazy na manipulaci s daty
Tento článek je psán za podpory webhostingu banan.cz, který Firebird plně podporuje.SQL dotazy na manipulaci s daty
Základem práce s databází je manipulace s uloženými daty prostřednictvím dotazů, voláním uložených procedur a funkcí, vkládání, změna a zrušení dat. Tyto činnosti jsou vykonávány prostřednictvím SQL příkazů patřících do skupiny příkazů pro manipulaci s daty DML (Date Manipulation Language). Základem veškeré manipulace s daty tvoří čtyři základní příkazy SQL pro výběr dat, vložení nových dat, úpravu dat existujících a příkaz pro zrušení dat.Příkaz SELECT
Tento příkaz slouží k dotazování na datový obsah databáze. Má velice významné postavení mezi ostatními příkazy, protože právě jeho prostřednictvím umožňuje ostatním příkazům specifikovat podmínky nebo vstupní data, tzv. "vnořený" příkaz SELECT. Výstupem příkazu SELECT je množina dat v podobě tabulky. Příkaz má následující syntax (nejčastější parametry):
SELECT <seznam_sloupců>
FROM <název relace>
[JOIN] <specifikace spojeni s jinou relací>
[WHERE <podmínka>]
[GROUP BY <seznam sloupců pro agregaci>]
[ORDER BY <seznam sloupců pro třídění>]
Příklad použití příkazu SELECT
SELECT sloupec1, sloupec2 FROM tabulka WHERE ...
SELECT tabulka1.ID, tabulka1.nazev_knihy, tabulka2.nazev_kapitoly WHERE …
Příkaz INSERT
Příkazem INSERT se vkládají řádky do jediné tabulky. Jazyk SQL nedovoluje tímto příkazem vložit data do více tabulek. Následující forma umožňuje vkládání jednoho řádku do jednoho sloupce.
INSERT INTO nazev_tabulky (<seznam_sloupcu>)
VALUES (seznam_hodnot_odpovidajici_seznamu_sloupcu)
Druhou možností je vkládat více řádků. Počet řádků a jejich hodnoty jsou vybrány pomocí příkazu SELECT.
INSERT INTO nazev_tabulky (<seznam_sloupcu>)
SELECT (seznam_vybranych_hodnot_odpovidajici_seznamu_sloupcu)
Příkaz UPDETE
Příkaz UPDATE slouží k aktualizaci hodnot v existujících řádcích tabulky. Tímto příkazem nelze měnit data ve dvou a více tabulkách najednou. Příkaz UPDATE má dvě varianty použití. První z nich mění data pouze v jednom, aktuálním řádku (použití v kombinaci s příkazem SELECT), druhá varianta může měnit data ve více řádcích najednou. Příkaz UPDATE má následující syntaxi (nejčastější parametry):
UPDATE nazev_tabulky
SET nazev_sloupce = hodnota
[WHERE <vyhledávací_podmínka>, WHERE CURRENT OF <jmeno_kurzoru> ]
Příkaz DELETE
Příkaz DELETE slouží k vymazání řádků z jediné tabulky. Opět není možné tímto příkazem vymazat řádky z více tabulek najednou. Příkaz DELETE má také dvě základní varianty. První - tzv. poziční výmaz - ruší pouze jeden aktuální řádek určený příkazem SELECT (kurzor). Druhá varianta může vymazat více řádků a je nazývána výmazem s vyhledáváním. Pokud není specifikována podmínka WHERE, jsou smazány všechny řádky v tabulce. Syntaxe příkazu DELETE je následující (nejčastější parametry):
DELETE FROM nazev_tabulky
[WHERE <vyhledavaci_podminka>, WHERE CURRENT OF jmeno_kurzoru]
Autor: Robert Habrman