Souhrn: v tomto výukovém programu se naučíte používat příkaz SQL INSERT k vkládání dat do tabulek.
Příkaz INSERT
vloží do tabulky jeden nebo více řádků. Příkaz INSERT
se někdy označuje jako INSERT INTO
.
Příkaz SQL INSERT – vložte jeden řádek do tabulka
Následující text ilustruje příkaz INSERT
, který vloží jeden řádek do existující tabulky.
1
2
|
VLOŽTE DO tabulky (sloupec1, sloupec2, …)
VALUES (hodnota1, hodnota2, …);
|
Chcete-li vložit řádek do tabulky, musíte zadejte tři věci:
- Nejprve tabulku, do které chcete vložit nový řádek, v klauzuli
INSERT INTO
. - Zadruhé, čárkami oddělený seznam sloupců v tabulce uzavřených v závorkách.
- Za třetí, seznam hodnot oddělených čárkami v závorkách v
VALUES
klauzule.
Seznam sloupců musí mít stejný počet prvků jako seznam hodnot, jinak databázový stroj vydá chybu.
Pojďme se podívat u následující shippers
tabulky:
Následující INSERT
příkaz vloží nový řádek do shippers
tabulky:
1
2
|
INSERT INTO shipers (název společnosti, telefon)
VALUES („Alliance Shippers“, „1-800-222-0451“);
|
Dvě konstanty, "Alliance Shippers"
a "1-800-222-0451"
jsou uvedeny v klauzuli VALUES
. Databázový stroj je vložil do sloupců companyname
a phone
.
Po provedení příkazu databázový server vrátí zprávu označující počet ovlivněných řádků. V tomto případě se zobrazí zpráva „Ovlivněn 1 řádek“ informován, že nový řádek byl úspěšně vložen.
Všimněte si, že jsme nezadali shipperID
sloupec v seznamu sloupců, protože sloupec shipperID
je sloupec AUTO INCREMENT
, databázový stroj pro něj automaticky vygeneruje další sekvenci vždy, když se objeví nový řádek je vložen do tabulky.
Abychom vám pomohli psát méně kódu, poskytuje SQL kratší formu příkazu INSERT
:
1
2
|
INSERT INTO table
VALUES (value1, value2, …)
|
V tomto formuláři musí mít seznam hodnot stejné pořadí jako seznam sloupců v tabulce. Pokud použijete tento formulář , musíte zadat hodnoty pro všechny sloupce kromě sloupce AUTO INCREMENT
.
Je dobrým zvykem používat názvy sloupců v INSERT
prohlášení, které usnadňuje údržbu kódu.
Následující prohlášení INSERT
má stejný účinek jako ten výše:
1
2
|
INSERT INTO shipers
VALUES (“ Alliance Shippers „,“ 1-800-222-0451 „);
|
příkaz SQL INSERT – vložit do tabulky více řádků
Příkaz INSERT
také umožňuje vložit více řádků do tabulky pomocí jediného následujícího příkazu:
1
2
3
4
|
INSERT INTO table_name (sloupec1, sloupec2 …)
HODNOTY (hodnota1, hodnota2, …),
(hodnota1, hodnota2, …) ,
…
|
V tomto ve formuláři musíte uvést více seznamů hodnot, každý seznam je oddělen čárkou.
Následující příkaz INSERT
vloží do tabulky shippers
dva řádky:
1
2
3
|
INSERT INTO shipers (companyName, phone)
VALUES („UPS“, „1-800-782-7892“),
(„DHL“, „1-800-225-5345“)
|
SQL Příkaz INSERT – kopírování dat tabulky
Místo určení seznamu hodnot můžete pomocí příkazu SELECT vybrat hodnoty z jiné tabulky a zadat je do INSERT
tvrzení. To vám umožňuje kopírovat data z tabulky do jiné tabulky.
Následující prohlášení ukazuje, jak kopírovat data z another_table
do table
:
1
2
3
4
5
6
7
|
INSERT INTO table (column1, column2, …)
SELECT
column1, column2, …
FROM
another_table
WHERE
podmínka
|
Seznam sloupců v klauzuli SELECT
musí odpovídat seznamu sloupců v INSERT INTO
doložka. Pokud chcete kopírovat pouze částečná data, musíte v klauzuli WHERE zadat podmínku.
Předpokládejme, že máte dočasnou tabulku s názvem shippers_tmp
, která má stejnou struktura jako shippers
tabulka. Chcete-li zkopírovat data z shippers
tabulky do shippers_tmp
tabulky, použijte následující příkaz:
1
2
3
4
5
|
INSERT INTO shippers_tmp (shipperid, name, phone)
SELECT
shipperid, companyName, telefon
OD OD
přepravců
|
V tomto výukovém programu jste se naučili používat příkaz INSERT
k vložení jednoho nebo více řádků do tabulky. Kromě toho jste se také naučili kopírovat data z tabulky do jiné tabulky pomocí příkazu INSERT SELECT INTO
.
- Byl tento výukový program užitečné?
- AnoNe