Základy jazyka SQL Jan Tichava Zdroj: http://www.duben.org/zaklady-sql/zaklady-jazyka-sql-a-databazi-i-dil http://www.orafaq.com/faq/what_are_the_difference_between_ddl_dml_and_dcl_commands
Jazyk SQL DDL – Data Definition Language příkazy definující jednotlivé objekty v databázi tabulky, pohledy (view), atd. DML – Data Manipulation Language příkazy definující práci s databázovými objekty výběr dat, modifikaci dat, mazání dat, atd.
Data Definition Language CREATE – vytvoření objektu v databázi ALTER – změnit strukturu v databázi DROP – odstranit objekt z databáze RENAME – přejmenovat objekt
Data Manipulation Language SELECT – získat data z databáze INSERT – vložit data do tabulky UPDATE – upravit existující data DELETE – odstranit data
CREATE TABLE CREATE TABLE kontakty ( jmeno char(50) not null, prijmeni char(70) not null, telefon char(15) );
Vykonání v Access 2007 Spustit Access a založit novou a prázdnou DB Kartu „Vytvořit“ a zvolit „Návrh dotazu“ Dialog „Zobrazit tabulku“ zavřeme Vlevo nahoře přepneme do SQL zobrazení
Vykonání v Access 2007 Spustit Access a založit novou a prázdnou DB Kartu „Vytvořit“ a zvolit „Návrh dotazu“ Dialog „Zobrazit tabulku“ zavřeme Vlevo nahoře přepneme do SQL zobrazení CREATE TABLE kontakty ( jmeno char(50) not null, prijmeni char(70) not null, telefon char(15) );
ALTER TABLE ALTER TABLE kontakty ADD vek int not null;
INSERT INSERT INTO kontakty (jmeno, prijmeni, telefon, vek) VALUES ('Karel', 'Novák', '123456789', 25); Při přepnutí do tabulky nezapomenout tabulku aktualizovat Vložte několik záznamů, tak aby byl různý věk a jméno „Karel“ se vyskytlo ve více záznamech (ne ve všech)
Jednoduchý SELECT SELECT * FROM kontakty; SELECT jmeno, prijmeni, telefon, vek FROM kontakty; Přepneme zpět do editačního režimu
Další možnosti SELECT SELECT jmeno, prijmeni, vek FROM kontakty; SELECT jmeno, prijmeni, vek FROM kontakty WHERE vek > 27; SELECT jmeno, prijmeni, telefon, vek FROM kontakty WHERE jmeno = 'Karel';
Dotazy s agregací COUNT(*) SUM(sloupec) AVG(sloupec) MIN(sloupec) MAX(sloupec)
Dotazy s agregací SELECT avg(vek) FROM kontakty;