Příkaz SQL INSERT INTO přidává data do nově vytvořených tabulek nebo existujících tabulek. Pomocí tohoto dotazu můžeme přidat jeden záznam nebo více záznamů v tabulce.
Existují dva možné způsoby, jak přidat data do tabulky:
- Uveďte název pole a hodnoty se přidají do tabulky.
- Pokud přidáme hodnoty pro všechna pole tabulky, nemusíme v příkazu nebo dotazu SQL INSERT INTO uvádět název pole. Ujistěte se však, že pořadí hodnot je stejné jako pořadí sloupců v tabulce.
Syntaxe příkazu SQL INSERT INTO uvedením názvů polí v příkazu nebo dotazu:
INSERT INTO Table_Name (Column_Name1, Column_Name2, Column_Name3, Column_Name4, Column_Name5) VALUES (Value1, Value2, Value3, Value4, Value5);
Column_Name1, Column_Name2, Column_Name3, Column_Name4, Column_Name5 jsou názvy polí v tabulkách, do kterých chceme přidat hodnoty.
Syntaxe příkazu SQL INSERT INTO bez uvedení názvů polí v příkazu nebo dotazu:
INSERT INTO Table_Name VALUES (Value1, Value2, Value3, Value4, Value5);
Výše uvedená syntaxe se používá k vkládání hodnot do všech polí v tabulkách.
Následující příkazy vytvoří osm záznamů v tabulce Zákazník.
INSERT INTO Customer (Customer_Id, Customer_Name, Age, Address, Plat)
VALUES (1, 'Rakesh', 32, 'Ahmedabad', 20000);
INSERT INTO Customer (Customer_Id, Customer_Name, Age, Address, Plat)
VALUES (2, 'Kamlesh', 27, 'Dillí', 15000);
INSERT INTO Customer (Customer_Id, Customer_Name, Age, Address, Plat)
VALUES (3, 'kaustubh', 25, 'Pune', 20000);
INSERT INTO Customer (Customer_Id, Customer_Name, Age, Address, Plat)
VALUES (4, 'Chaitali', 25, 'Bombaj', 15 000);
INSERT INTO Customer (Customer_Id, Customer_Name, Age, Address, Plat)
VALUES (5, 'Himesh', 29, 'Dillí', 45000);
INSERT INTO Customer (Customer_Id, Customer_Name, Age, Address, Plat)
VALUES (6, 'Komal', 22, 'MP', 45000);
INSERT INTO Customer (Customer_Id, Customer_Name, Age, Address, Plat)
VALUES (7, 'Nikhlesh', 28, 'Dillí', 40 000);
INSERT INTO Customer (Customer_Id, Customer_Name, Age, Address, Plat)
VALUES (8, 'Kamolika', 24, 'Pune', 50 000);
Ve výše uvedeném příkazu INSERT INTO jsme přidali záznamy do tabulky Customer uvedením názvů polí tabulky.
Data můžeme přidat do tabulky bez uvedení názvu pole tabulky:
Následující vzorové příkazy by vytvořily šest záznamů v tabulce Zákazník.
INSERT IN TO Customer VALUES (9, ‚Raman‘, 30, ‚Bombai‘, 35500);
INSERT IN TO Customer VALUES (10, ‚Manoj‘, 40, ‚Pune‘, 45000);
INSERT IN TO Customer VALUES (11, 'Shweta', 26, 'MP', 42500);
VLOŽTE DO HODNOT zákazníka (12, ‚Šivani‘, 25, ‚Dillí‘, 50 000);
INSERT IN TO Customer VALUES (13, ‚Rahul‘, 28, ‚Nashik‘, 34000);
INSERT IN TO Customer VALUES (14, ‚Sahil‘, 22, ‚Nashik‘, 27000);
Ve výše uvedeném příkladu příkazu INSERT INTO jsme přidali záznamy bez uvedení názvu pole v dotazu.
Všechny výše uvedené dotazy vygenerují následující data v tabulce Zákazník, jak je uvedeno níže:
Customer_Id | Jméno_zákazníka | Věk | Adresa | Plat |
1 | Rakesh | 32 | Ahmedabad | 20 000 |
2 | Kamlesh | 27 | Dillí | 15 000 |
3 | Kausubh | 25 | Pune | 20 000 |
4 | Čaitalština | 25 | Bombaj | 15 000 |
5 | Himesh | 29 | Dillí | 45 000 |
6 | Komal | 22 | MP | 45 000 |
7 | Nikhlesh | 28 | Dillí | 40 000 |
8 | Kamolika | 24 | Pune | 50 000 |
9 | Raman | 30 | Bombaj | 35500 |
10 | Manoj | 40 | Pune | 45 000 |
11 | Shweta | 26 | MP | 42 500 |
12 | Šivani | 25 | Dillí | 50 000 |
13 | Rahul | 28 | Nashik | 34 000 |
14 | Sahil | 22 | Nashik | 27 000 |
INSERT INTO SELECT.
Příkaz INSERT INTO SELECT je také způsob, jak přidat záznamy do tabulky. Příkaz INSERT INTO SELECT slouží k vložení záznamů do jedné tabulky z existující tabulky. Kde jsou všechna pole a pořadí polí stejné.
Vytvoříme dalšího zákazníka a použijeme stejná pole z výše uvedené tabulky zákazníků.
CREATE TABLE Customers (Customer_Id int Primary key, Customer_Name varchar(40), Age int, Address Varchar(20), Salary int);
Pro zobrazení struktury tabulky použijte příkaz DESC následovaný názvem tabulky Zákazníci.
Pole | Typ | Nulové | Klíč | Výchozí | Navíc |
Customer_Id | Int(11) | NE | PRI | NULL | |
Jméno zákazníka | Varchar(40) | ANO | NULL | ||
Věk | Int(11) | ANO | NULL | ||
Adresa | Varchar(20) | ANO | NULL | ||
Plat | Int(11) | ANO | NULL |
Záznamy můžeme přidat do tabulky pomocí příkazu SELECT přes jinou tabulku.
Syntaxe INSERT INTO SELECT:
INSERT INTO Table1 [(Column_Name1, Column_Name2, Column_Name3, Column_Name4, Column_Name5)] SELECT Column_Name1, Column_Name2, Column_Name3, Column_Name4, Column_Name5 FROM Table2;Tabulka FROM
Příklad příkazu INSERT INTO SELECT:
INSERT INTO Customers SELECT * FROM Customer;
Ve výše uvedeném příkladu dotazu INSERT INTO SELECT jsou všechny záznamy z tabulky Customer přidány do tabulky Customers.
Níže jsou uvedeny následující údaje v tabulce Zákazník:
Customer_Id | Jméno_zákazníka | Věk | Adresa | Plat |
1 | Rakesh | 32 | Ahmedabad | 20 000 |
2 | Kamlesh | 27 | Dillí | 15 000 |
3 | Kausubh | 25 | Pune | 20 000 |
4 | Čaitalština | 25 | Bombaj | 15 000 |
5 | Himesh | 29 | Dillí | 45 000 |
6 | Komal | 22 | MP | 45 000 |
7 | Nikhlesh | 28 | Dillí | 40 000 |
8 | Kamolika | 24 | Pune | 50 000 |
9 | Raman | 30 | Bombaj | 35500 |
10 | Manoj | 40 | Pune | 45 000 |
11 | Shweta | 26 | MP | 42 500 |
12 | Šivani | 25 | Dillí | 50 000 |
13 | Rahul | 28 | Nashik | 34 000 |
14 | Sahil | 22 | Nashik | 27 000 |