SQL INSERT – Vložení jednoho nebo více řádků do tabulky

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *