Příkaz INSERT INTO v SQL se používá k přidávání nových záznamů do tabulky v databázi. Je to základní příkaz pro vkládání dat a používá se pro vkládání nových dat do tabulek.
Syntax
V závislosti na požadavcích existují dvě syntaxe příkazů INSERT INTO. Tyto dvě syntaxe jsou:
1. Pouze hodnoty
První metodou je zadat pouze hodnotu dat, která mají být vložena, bez názvů sloupců.
INSERT INTO název_tabulky
HODNOTY (hodnota1, hodnota2, hodnota);
Tady,
- název_tabulky: název stolu.
- hodnota1, hodnota2: hodnota prvního sloupce, druhého sloupce,… pro nový záznam
2. Názvy a hodnoty sloupců
Ve druhé metodě určíme jak sloupce, které chceme vyplnit, tak jejich odpovídající hodnoty, jak je uvedeno níže:
VLOŽ DO název_tabulky (sloupec1, sloupec2, sloupec3)
HODNOTY ( hodnota1, hodnota2, hodnota);
Tady,
- název_tabulky: název stolu.
- sloupec1, sloupec2...: název prvního sloupce, druhého sloupce.
- hodnota1, hodnota2, hodnota..: hodnota prvního sloupce, druhého sloupce,… pro nový záznam
SQL INSERT INTO Příklady
Podívejme se na některé příklady příkazu INSERT INTO v SQL, abychom mu lépe porozuměli.
Předpokládejme, že existuje databáze Student a chceme přidat hodnoty.
c formátovaný řetězec
| ROLL_NO | NÁZEV | ADRESA | TELEFON | STÁŘÍ |
|---|---|---|---|---|
| 1 | RAM | Dillí | xxxxxxxxxxxx | 18 |
| 2 | RAMESH | GURGAON | xxxxxxxxxxxx | 18 |
| 3 | SUJIT | ROHTAK | xxxxxxxxxxxx | dvacet |
| 4 | SURESH | ROHTAK | xxxxxxxxxxxx | 18 |
| 3 | SUJIT | ROHTAK | xxxxxxxxxxxx | dvacet |
| 2 | RAMESH | GURGAON | xxxxxxxxxxxx | 18 |
Vložení pouze nových hodnot pomocí INSERT INTO Příklad
Pokud chceme vložit pouze hodnoty, použijeme následující dotaz:
Dotaz:
INSERT INTO Student VALUES ('5','HARSH','WEST BENGAL', 'XXXXXXXXXX','19');> Výstup:
Stůl Student bude nyní vypadat takto:
webový ovladač
| ROLL_NO | NÁZEV | ADRESA | TELEFON | Stáří |
|---|---|---|---|---|
| 1 | RAM | Dillí | XXXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | dvacet |
| 4 | SURESH | Dillí | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | dvacet |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 5 | DRSNÝ | ZÁPADNÍ BENGÁLSKO | XXXXXXXXXX | 19 |
Vložení hodnot do zadaných sloupců pomocí příkladu INSERT INTO
Pokud chceme vložit hodnoty do zadaných sloupců, použijeme následující dotaz:
Dotaz:
INSERT INTO Student (ROLL_NO, NAME, Age) VALUES ('5','PRATIK','19');> Výstup:
Stůl Student bude nyní vypadat takto:
| ROLL_NO | NÁZEV | ADRESA | TELEFON | Stáří |
|---|---|---|---|---|
| 1 | RAM | Dillí | XXXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | dvacet |
| 4 | SURESH | Dillí | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | dvacet |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 5 | PRAXE | nula | nula | 19 |
Všimněte si, že sloupce, pro které nejsou uvedeny hodnoty, jsou vyplněny hodnotou null. Jaké jsou výchozí hodnoty pro tyto sloupce?
Vložení více řádků do tabulky pomocí jediného příkazu SQL
Danou techniku můžete použít k vložení více řádků do tabulky v jednom dotazu. To šetří čas na psaní dotazů a snižuje chybu okrajů.
Syntax:
INSERT INTO název_tabulky(sloupec1,sloupec2,sloupec3,…….)
HODNOTY (Hodnota1, Hodnota2,Hodnota3,…..),
(Hodnota1, Hodnota2,Hodnota3,…..),
(Hodnota1, Hodnota2,Hodnota3,…..),
…………………………..;
Kde,
- název_tabulky: název stolu.
Sloupec 1: název prvního sloupce, druhého sloupce. - Hodnoty: Hodnota1, Hodnota2, Hodnota3: hodnota prvního sloupce, druhého sloupce.
- Pro každý nový vložený řádek musíte zadat více seznamů hodnot, kde je každý seznam oddělen ,. Každý seznam hodnot odpovídá hodnotám, které mají být vloženy do každého nového řádku tabulky. Hodnoty v dalším seznamu udávají hodnoty, které mají být vloženy do dalšího řádku tabulky.
Vložení více řádků do tabulky pomocí jediného příkazu SQL Příklad:
Následující příkaz SQL vloží do studentské tabulky více řádků.
Dotaz:
INSERT INTO STUDENT (ID, NAME,AGE,GRADE,CITY) VALUES (1,'AMIT KUMAR',15,10,'DELHI'), (2,'GAURI RAO',18,12,'BANGALORE'), (3,'MANAV BHATT',17,11,'NEW DELHI'), (4,'RIYA KAPOOR',10,5,'UDAIPUR');>
Výstup:
Tabulka STUDENT bude tedy vypadat takto:
| ID | NÁZEV | STÁŘÍ | ŠKOLNÍ ZNÁMKA | MĚSTO |
|---|---|---|---|---|
| 1 | AMIT KUMAR | patnáct | 10 | DILLÍ |
| 2 | GAURI RAO | 18 | 12 | BANGALUR |
| 3 | MANAV BHATT | 17 | jedenáct | NOVÉ DILLÍ |
| 4 | RIYA KAPOOR | 10 | 5 | UDAIPUR |
S QL INSERT DO SELECT
The SQL INSERT DO SELECT příkaz se používá ke zkopírování dat z jedné tabulky a jejich vložení do jiné tabulky. Použití tohoto příkazu je podobné jako u příkazu INSERT INTO. Rozdíl je v tom, že příkaz SELECT se zde používá k výběru dat z jiné tabulky. Níže jsou uvedeny různé způsoby použití příkazu INSERT INTO SELECT:
seznam vs nastavení v jazyce Java
INSERT DO SELECT Syntax
Existují dvě syntaxe pro použití příkazu INSERT INTO SELECT v závislosti na jeho použití.
Kopírovat všechny sloupce a vložit
Syntaxe pro použití dotazu INSERT INTO SELECT k vložení všech dat z tabulky do jiné tabulky:
INSERT INTO první_tabulka SELECT * FROM druhá_tabulka;
Tady,
- first_table: název první tabulky.
- druhá_tabulka: název druhé tabulky.
Pro zkopírování dat z jedné tabulky jsme použili příkaz SELECT a pro vložení z jiné tabulky příkaz INSERT INTO.
Zkopírujte konkrétní sloupce a vložte je
Syntaxe pro použití dotazu INSERT INTO SELECT k vložení konkrétních dat z tabulky do jiné tabulky:
INSERT INTO first_table(name_of_columns1)
SELECT názvy_sloupců2 FROM druhá_tabulka;kolik měst usa
Tady,
- první_tabulka : název první tabulky. druhá_tabulka: název druhé tabulky.
- názvy sloupců1: název sloupců oddělených čárkou(,) pro tabulku 1.
- názvy sloupců 2 : název sloupců oddělených čárkou(,) pro tabulku 2.
Použili jsme příkaz SELECT pro zkopírování dat vybraných sloupců pouze z druhé tabulky a příkaz INSERT INTO pro vložení do první tabulky.
C zkopírovat konkrétní řádky a vložit
Konkrétní řádky z tabulky můžeme zkopírovat a vložit do jiné tabulky pomocí klauzule WHERE s příkazem SELECT. Pro výběr konkrétních řádků musíme v klauzuli WHERE poskytnout vhodné podmínky.
Syntaxe pro použití dotazu INSERT INTO SELECT k vložení konkrétních řádků z tabulky
INSERT INTO tabulka1 SELECT * FROM tabulka2 WHERE podmínka;
Tady,
- první_tabulka : název první tabulky.
- druhá_tabulka : název druhé tabulky.
- stav : podmínka pro výběr konkrétních řádků.
Příklady SQL INSERT INTO SELECT
Podívejme se na několik příkladů příkazu INSERT INTO SELECT, abychom mu lépe porozuměli.
Předpokládejme, že existuje databáze LateralStudent.
| ROLL_NO | NÁZEV | ADRESA | TELEFON | Stáří |
|---|---|---|---|---|
| 7 | SOUVIK | HYDERABAD | XXXXXXXXXX | 18 |
| 8 | NIRAJ | NOIDA | XXXXXXXXXX | 19 |
| 9 | NĚKTERÝ | ROHTAK | XXXXXXXXXX | dvacet |
Vložení všech řádků a sloupců pomocí příkladu INSERT INTO SELECT
Pokud chceme vložit pouze hodnoty, použijeme následující dotaz:
Dotaz:
INSERT INTO Student SELECT * FROM LateralStudent;>
Výstup:
Tento dotaz vloží všechna data tabulky LateralStudent do tabulky Student. Tabulka Student bude nyní vypadat takto,
| ROLL_NO | NÁZEV | ADRESA | TELEFON | Stáří |
|---|---|---|---|---|
| 1 | RAM | Dillí | XXXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | dvacet |
| 4 | SURESH | Dillí | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | dvacet |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 7 | SOUVIK | DUMBUM | XXXXXXXXXX | 18 |
| 8 | NIRAJ | NOIDA | XXXXXXXXXX | 19 |
| 9 | NĚKTERÝ | ROHTAK | XXXXXXXXXX | dvacet |
Vložení konkrétních sloupců pomocí příkladu INSERT INTO SELECT
Pokud chceme vložit hodnoty do zadaných sloupců, použijeme následující dotaz:
Dotaz:
INSERT INTO Student(ROLL_NO,NAME,Age) SELECT ROLL_NO, NAME, Age FROM LateralStudent;>
Výstup:
Tento dotaz vloží data do sloupců ROLL_NO, NAME a Age of TablealStudent v tabulce Student a zbývající sloupce v tabulce Student vyplní nula což je výchozí hodnota zbývajících sloupců. Tabulka Student bude nyní vypadat takto,
převést int na řetězec c++
| ROLL_NO | NÁZEV | ADRESA | TELEFON | Stáří |
|---|---|---|---|---|
| 1 | RAM | Dillí | XXXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | dvacet |
| 4 | SURESH | Dillí | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | dvacet |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 7 | SOUVIK | nula | nula | 18 |
| 8 | NIRAJ | nula | nula | 19 |
| 9 | NĚKTERÝ | nula | nula | dvacet |
Vložte konkrétní řádky pomocí příkladu INSERT INTO SELECT:
INSERT INTO Student SELECT * FROM LateralStudent WHERE Age = 18;>
Výstup:
Tento dotaz vybere pouze první řádek z tabulky LateralStudent pro vložení do tabulky Student. Tabulka Student bude nyní vypadat takto,
| ROLL_NO | NÁZEV | ADRESA | TELEFON | Stáří |
|---|---|---|---|---|
| 1 | RAM | Dillí | XXXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | dvacet |
| 4 | SURESH | Dillí | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | dvacet |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 7 | SOUVIK | DUMBUM | XXXXXXXXXX | 18 |
Důležité body o příkazu SQL INSERT INTO
- Příkaz INSERT INTO se používá k přidávání nových záznamů do tabulky v databázi
- Umožňuje vložení více záznamů do jednoho příkazu poskytnutím více sad hodnot.
- Pokud nezadáte názvy sloupců, příkaz předpokládá všechny sloupce a hodnoty musí být ve stejném pořadí jako definice tabulky.
- Sloupce nezahrnuté v příkazu INSERT budou vyplněny výchozími hodnotami, které jsou obvykle NULL.
- podmínka prohlášení.