SQL INSERT INTO-sætning tilføjer data til de nyoprettede tabeller eller eksisterende tabeller. Vi kan tilføje enkelte poster eller flere poster i en tabel ved at bruge denne forespørgsel.
Der er to mulige måder at tilføje data til en tabel på:
- Nævn feltets navn, og værdierne føjes til tabellen.
- Hvis vi tilføjer værdier for alle tabelfelterne, behøver vi ikke at nævne feltets navn i SQL INSERT INTO-sætningen eller forespørgslen. Men sørg for, at rækkefølgen af værdierne er den samme som rækkefølgen af kolonnerne i tabellen.
Syntaks for SQL INSERT INTO-sætning ved at nævne felternes navne i sætningen eller forespørgslen:
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 er feltnavnet i tabellerne, som vi vil tilføje værdier til.
Syntaksen for SQL INSERT INTO-sætning uden at nævne navnene på felterne i sætningen eller forespørgslen:
INSERT INTO Table_Name VALUES (Value1, Value2, Value3, Value4, Value5);
Ovenstående syntaks bruges til at indsætte værdier i alle felterne i tabellerne.
Følgende udsagn ville skabe otte poster i kundetabellen.
INSERT INTO Customer (Customer_Id, Customer_Name, Alder, Adresse, Salary)
VÆRDIER (1, 'Rakesh', 32, 'Ahmedabad', 20000);
INSERT INTO Customer (Customer_Id, Customer_Name, Alder, Adresse, Salary)
VÆRDIER (2, 'Kamlesh', 27, 'Delhi', 15000);
INSERT INTO Customer (Customer_Id, Customer_Name, Alder, Adresse, Salary)
VÆRDIER (3, 'kaustubh', 25, 'Pune', 20000);
INSERT INTO Customer (Customer_Id, Customer_Name, Alder, Adresse, Salary)
VÆRDIER (4, 'Chaitali', 25, 'Mumbai', 15000);
INSERT INTO Customer (Customer_Id, Customer_Name, Alder, Adresse, Salary)
VÆRDIER (5, 'Himesh', 29, 'Delhi', 45000);
INSERT INTO Customer (Customer_Id, Customer_Name, Alder, Adresse, Salary)
VÆRDIER (6, 'Komal', 22, 'MP', 45000);
INSERT INTO Customer (Customer_Id, Customer_Name, Alder, Adresse, Salary)
VÆRDIER (7, 'Nikhlesh', 28, 'Delhi', 40000);
INSERT INTO Customer (Customer_Id, Customer_Name, Alder, Adresse, Salary)
VÆRDIER (8, 'Kamolika', 24, 'Pune', 50000);
I ovenstående INSERT INTO-sætning har vi tilføjet posterne i kundetabellen ved at nævne tabellens feltnavne.
Vi kan tilføje data til tabellen uden at nævne feltets navn på tabellen:
Følgende eksempeludsagn ville oprette seks poster i kundetabellen.
INDSÆT I KUNDEVÆRDIER (9, 'Raman', 30, 'Mumbai', 35500);
INDSÆT I KUNDEVÆRDIER (10, 'Manoj', 40, 'Pune', 45000);
INDSÆT I KUNDEVÆRDIER (11, 'Shweta', 26, 'MP', 42500);
INDSÆT I KUNDEVÆRDIER (12, 'Shivani', 25, 'Delhi', 50000);
INDSÆT I KUNDEVÆRDIER (13, 'Rahul', 28, 'Nashik', 34000);
INDSÆT I KUNDEVÆRDIER (14, 'Sahil', 22, 'Nashik', 27000);
I ovenstående INSERT INTO-sætningseksempel har vi tilføjet posterne uden at nævne feltnavnet i forespørgslen.
Alle ovenstående forespørgsler vil generere følgende data i kundetabellen som vist nedenfor:
Customer_Id | Customer_Name | Alder | Adresse | Løn |
1 | Rakesh | 32 | Ahmedabad | 20.000 |
2 | Kamlesh | 27 | Delhi | 15.000 |
3 | Kausubh | 25 | Pune | 20.000 |
4 | Chaitali | 25 | Mumbai | 15.000 |
5 | Himesh | 29 | Delhi | 45.000 |
6 | Komal | 22 | MP | 45.000 |
7 | Nikhlesh | 28 | Delhi | 40.000 |
8 | Kamolika | 24 | Pune | 50.000 |
9 | Raman | 30 | Mumbai | 35500 |
10 | Manoj | 40 | Pune | 45.000 |
11 | Shweta | 26 | MP | 42500 |
12 | Shivani | 25 | Delhi | 50.000 |
13 | Rahul | 28 | Nashik | 34000 |
14 | Sahil | 22 | Nashik | 27.000 |
INSERT INTO SELECT Statement.
INSERT INTO SELECT-sætning er også en måde at tilføje poster til tabellen. INSERT INTO SELECT-sætning bruges til at indsætte poster i en tabel fra den eksisterende tabel. Hvor alle felterne og rækkefølgen af felterne er ens.
Vi vil oprette en anden kunde og bruge de samme felter fra ovenstående kundetabel.
CREATE TABLE Customers (Customer_Id int Primary key, Customer_Name varchar(40), Age int, Address Varchar(20), Salary int);
Brug kommandoen DESC efterfulgt af kundens tabelnavn for at vise tabelstrukturen.
Felter | Typ | Nul | Nøgle | Standard | Ekstra |
Customer_Id | Int(11) | NEJ | PRI | NULL | |
Customer_Name | Varchar(40) | JA | NULL | ||
Alder | Int(11) | JA | NULL | ||
Adresse | Varchar(20) | JA | NULL | ||
Løn | Int(11) | JA | NULL |
Vi kan tilføje poster til en tabel gennem SELECT-sætningen over en anden tabel.
Syntaks for 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;
Eksempel på INSERT INTO SELECT-sætningen:
INSERT INTO Customers SELECT * FROM Customer;
I ovenstående forespørgsel INSERT INTO SELECT-eksempel tilføjes alle poster fra kundetabellen til tabellen Kunder.
Følgende data i kundetabellen er vist nedenfor:
Customer_Id | Customer_Name | Alder | Adresse | Løn |
1 | Rakesh | 32 | Ahmedabad | 20.000 |
2 | Kamlesh | 27 | Delhi | 15.000 |
3 | Kausubh | 25 | Pune | 20.000 |
4 | Chaitali | 25 | Mumbai | 15.000 |
5 | Himesh | 29 | Delhi | 45.000 |
6 | Komal | 22 | MP | 45.000 |
7 | Nikhlesh | 28 | Delhi | 40.000 |
8 | Kamolika | 24 | Pune | 50.000 |
9 | Raman | 30 | Mumbai | 35500 |
10 | Manoj | 40 | Pune | 45.000 |
11 | Shweta | 26 | MP | 42500 |
12 | Shivani | 25 | Delhi | 50.000 |
13 | Rahul | 28 | Nashik | 34000 |
14 | Sahil | 22 | Nashik | 27.000 |