Insert (SQL)
Vzhled
SQL příkaz INSERT přidá do tabulky relační databáze nový záznam.
Základní forma
Základní forma příkazu INSERT
vypadá takto:
INSERT INTO <tabulka> [(<sloupec>[,...n])] VALUES (<hodnota>[,...n])
INSERT INTO <tabulka> [(<sloupec>[,...n])] <SELECT prikaz>
- <tabulka> - Název tabulky, do které se má nový záznam uložit.
- <sloupec> - Jmenovitý seznam sloupců, do kterých se hodnoty ukládají.
- <hodnota> - Vkládaná hodnota. Každá hodnota se uloží do sloupce jež má stejnou pozici ve výčtu sloupců jako tato hodnota.
- <SELECT prikaz> - Vytvoří sadu výsledků která bude vložena do uvedené tabulky.
Počet sloupců a hodnot musí být stejný. Pokud není sloupeček zadán (tzn. že jméno sloupce není uvedeno v seznamu sloupců), použije se implicitní hodnota. Tato implicitní hodnota se definuje společně s definicí tabulky.
Hodnoty zadané při INSERT
dotazu musí splňovat všechny podmínky pro sloupce (např. primární klíč, podmínky CHECK
a NOT NULL
). Pokud nastane syntaktická chyba, záznam se do tabulky nepřidá.
- Příklad
Obsah tabulky telefonni_seznam před vložením nového záznamu
jmeno | cislo | ulice | mesto |
---|---|---|---|
Jan Novák | 257125474 | Wikipedistická 28 | Pastoriovice |
Jana Nováková | 574125474 | Luční 6 | Praha |
INSERT INTO telefonni_seznam (jmeno, cislo) VALUES ('John Doe', '555-1212');
Obsah tabulky telefonni_seznam po vložení nového záznamu
jmeno | cislo | ulice | mesto |
---|---|---|---|
Jan Novák | 257125474 | Wikipedistická 28 | Pastoriovice |
Jana Nováková | 574125474 | Luční 6 | Praha |
John Doe | 555-1212 | NULL | NULL |
Pokud jsou zadány hodnoty všech sloupečků, můžeme použít zkrácenou verzi:
INSERT INTO ''tabulka'' VALUES (''hodnota1'', [''hodnota2, ...''])
- Příklad
INSERT INTO telefonni_seznam VALUES ('John Doe', '555-1212', 'Pařížská 6','Aš');
jmeno | cislo | ulice | mesto |
---|---|---|---|
Jan Novák | 257125474 | Wikipedistická 28 | Pastoriovice |
Jana Nováková | 574125474 | Luční 6 | Praha |
John Doe | 555-1212 | Pařížská 6 | Aš |