INSERT INTO-satsen i SQL används för att lägga till nya poster till en tabell i en databas. Det är ett grundläggande kommando för datainfogning och används för att infoga nya data i tabeller.
Syntax
Det finns två syntaxer för INSERT INTO-satser beroende på kraven. De två syntaxerna är:
1. Endast värden
Den första metoden är att endast ange värdet på data som ska infogas utan kolumnnamnen.
INSERT INTO tabellnamn
VÄRDEN (värde1, värde2, värde);
Här,
- tabellnamn: tabellens namn.
- värde1, värde2: värdet för första kolumnen, andra kolumnen,... för den nya posten
2. Kolumnnamn och värden båda
I den andra metoden kommer vi att ange både kolumnerna som vi vill fylla och deras motsvarande värden som visas nedan:
SÄTT IN I tabellnamn (kolumn1, kolumn2, kolumn3)
VÄRDEN (värde1, värde2, värde);
Här,
- tabellnamn: tabellens namn.
- kolumn1, kolumn2..: namn på första kolumn, andra kolumn.
- värde1, värde2, värde..: värdet för första kolumnen, andra kolumnen,... för den nya posten
SQL INSERT INTO Exempel
Låt oss titta på några exempel på INSERT INTO-satsen i SQL för att förstå den bättre.
Anta att det finns en studentdatabas och vi vill lägga till värden.
rädda från
| ROLL_NO | NAMN | ADRESS | TELEFON | ÅLDER |
|---|---|---|---|---|
| 1 | Bagge | Delhi | xxxxxxxxxxxx | 18 |
| 2 | RAMESH | GURGAON | xxxxxxxxxxxx | 18 |
| 3 | SUJIT | ROHTAK | xxxxxxxxxxxx | tjugo |
| 4 | VISST | ROHTAK | xxxxxxxxxxxx | 18 |
| 3 | SUJIT | ROHTAK | xxxxxxxxxxxx | tjugo |
| 2 | RAMESH | GURGAON | xxxxxxxxxxxx | 18 |
Infogar endast nya värden med hjälp av INSERT INTO-exemplet
Om vi bara vill infoga värden använder vi följande fråga:
Fråga:
INSERT INTO Student VALUES ('5','HARSH','WEST BENGAL', 'XXXXXXXXXX','19');> Produktion:
datorarbete
Bordet Studerande kommer nu se ut så här:
| ROLL_NO | NAMN | ADRESS | TELEFON | Ålder |
|---|---|---|---|---|
| 1 | Bagge | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | tjugo |
| 4 | VISST | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | tjugo |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 5 | HÅRD | WEST BENGAL | XXXXXXXXX | 19 |
Infoga värden i angivna kolumner med hjälp av INSERT INTO-exemplet
Om vi vill infoga värden i de angivna kolumnerna använder vi följande fråga:
Fråga:
INSERT INTO Student (ROLL_NO, NAME, Age) VALUES ('5','PRATIK','19');> Produktion:
Bordet Studerande kommer nu se ut så här:
| ROLL_NO | NAMN | ADRESS | TELEFON | Ålder |
|---|---|---|---|---|
| 1 | Bagge | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | tjugo |
| 4 | VISST | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | tjugo |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 5 | ÖVA | null | null | 19 |
Observera att kolumnerna för vilka värdena inte anges är fyllda med null. Vilka är standardvärdena för dessa kolumner?
Infoga flera rader i en tabell med en enkel SQL-sats
Du kan använda den givna tekniken för att infoga flera rader i en tabell i en enda fråga. Detta sparar tid för att skriva frågor och minskar marginalfelet.
Syntax:
INSERT INTO table_name(Column1,Column2,Column3,…….)
VÄRDEN (Värde1, Värde2, Värde3,…..),
(Värde1, Värde2,Värde3,…..),
(Värde1, Värde2,Värde3,…..),
……………………….. ;
Var,
- tabellnamn: tabellens namn.
Kolumn 1: namnet på den första kolumnen, andra kolumnen. - Värden: Value1, Value2, Value3: värdet för den första kolumnen, andra kolumnen.
- För varje ny rad som infogas måste du tillhandahålla flera värdelistor där varje lista separeras med ,. Varje lista med värden motsvarar värden som ska infogas i varje ny rad i tabellen. Värden i nästa lista talar om värden som ska infogas i nästa rad i tabellen.
Infoga flera rader i en tabell med hjälp av en enkel SQL-sats Exempel:
Följande SQL-sats infogar flera rader i Student Table.
Fråga:
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');>
Produktion:
Därför kommer STUDENTtabellen att se ut så här:
| ID | NAMN | ÅLDER | KVALITET | STAD |
|---|---|---|---|---|
| 1 | AMIT KUMAR | femton | 10 | DELHI |
| 2 | GAURI RAO | 18 | 12 | BANGALORE |
| 3 | MANAV BHATT | 17 | elva | NYA DELHI |
| 4 | RIYA KAPOOR | 10 | 5 | UDAIPUR |
S QL INSERT I SELECT
De SQL INSERT INTO SELECT uttalande används för att kopiera data från en tabell och infoga den i en annan tabell. Användningen av denna sats liknar den för INSERT INTO-satsen. Skillnaden är att SELECT-sats används här för att välja data från en annan tabell. De olika sätten att använda INSERT INTO SELECT-satsen visas nedan:
hur man väljer kolumner från olika tabeller i sql
INSERT I SELECT Syntax
Det finns två syntaxer för att använda INSERT INTO SELECT-satsen, beroende på hur den används.
Kopiera alla kolumner och infoga
Syntaxen för att använda INSERT INTO SELECT-frågan för att infoga all data från en tabell till en annan tabell:
INSERT INTO first_table SELECT * FROM second_table;
Här,
- första_tabell: namnet på det första bordet.
- andra_tabell: namnet på andra bordet.
Vi har använt SELECT-satsen för att kopiera data från en tabell och INSERT INTO-satsen för att infoga från en annan tabell.
Kopiera specifika kolumner och infoga
Syntaxen för att använda INSERT INTO SELECT-frågan för att infoga specifik data från en tabell till en annan tabell:
INSERT I first_table(names_of_columns1)
VÄLJ namn_på_kolumner2 FRÅN andra_tabell;
Här,
- first_table : namn på första bordet. second_table: namnet på den andra tabellen.
- namn på kolumner 1: namn på kolumner separerade med komma(,) för tabell 1.
- namn på kolumner2 : namn på kolumner separerade med komma(,) för tabell 2.
Vi har använt SELECT-satsen för att kopiera data från de valda kolumnerna endast från den andra tabellen och INSERT INTO-satsen för att infoga i den första tabellen.
C opy Specifika rader och infoga
Vi kan kopiera specifika rader från en tabell för att infoga i en annan tabell genom att använda WHERE-satsen med SELECT-satsen. Vi måste tillhandahålla lämpliga villkor i WHERE-satsen för att välja specifika rader.
Syntaxen för att använda INSERT INTO SELECT-frågan för att infoga specifika rader från tabellen
INSERT INTO table1 SELECT * FROM table2 WHERE condition;
lägg till en array java
Här,
- first_table : namn på första bordet.
- andra_tabell : namn på andra tabell.
- skick : villkor för att välja specifika rader.
SQL INSERT INTO SELECT Exempel
Låt oss titta på några exempel på INSERT INTO SELECT-satsen för att förstå den bättre.
Anta att det finns en LateralStudent-databas.
| ROLL_NO | NAMN | ADRESS | TELEFON | Ålder |
|---|---|---|---|---|
| 7 | SOUVIK | HYDERABAD | XXXXXXXXX | 18 |
| 8 | NIRAJ | NOIDA | XXXXXXXXX | 19 |
| 9 | NÅGOT | ROHTAK | XXXXXXXXX | tjugo |
Infoga alla rader och kolumner med hjälp av INSERT INTO SELECT-exemplet
Om vi bara vill infoga värden använder vi följande fråga:
Fråga:
INSERT INTO Student SELECT * FROM LateralStudent;>
Produktion:
java check är null
Denna fråga kommer att infoga alla data från tabellen LateralStudent i tabellen Student. Tabellen Student kommer nu att se ut så här,
| ROLL_NO | NAMN | ADRESS | TELEFON | Ålder |
|---|---|---|---|---|
| 1 | Bagge | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | tjugo |
| 4 | VISST | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | tjugo |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SOUVIK | DUMBUM | XXXXXXXXX | 18 |
| 8 | NIRAJ | NOIDA | XXXXXXXXX | 19 |
| 9 | NÅGOT | ROHTAK | XXXXXXXXX | tjugo |
Infoga specifika kolumner med hjälp av INSERT INTO SELECT-exemplet
Om vi vill infoga värden i de angivna kolumnerna använder vi följande fråga:
Fråga:
INSERT INTO Student(ROLL_NO,NAME,Age) SELECT ROLL_NO, NAME, Age FROM LateralStudent;>
Produktion:
Denna fråga kommer att infoga data i kolumnerna ROLL_NO, NAME och Age of the table LateralStudent i tabellen Student och de återstående kolumnerna i elevtabellen kommer att fyllas av null vilket är standardvärdet för de återstående kolumnerna. Tabellen Student kommer nu att se ut så här,
| ROLL_NO | NAMN | ADRESS | TELEFON | Ålder |
|---|---|---|---|---|
| 1 | Bagge | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | tjugo |
| 4 | VISST | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | tjugo |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SOUVIK | null | null | 18 |
| 8 | NIRAJ | null | null | 19 |
| 9 | NÅGOT | null | null | tjugo |
Infoga specifika rader med hjälp av INSERT INTO SELECT-exemplet:
INSERT INTO Student SELECT * FROM LateralStudent WHERE Age = 18;>
Produktion:
Den här frågan väljer bara den första raden från tabellen LateralStudent att infoga i tabellen Student. Tabellen Student kommer nu att se ut så här,
| ROLL_NO | NAMN | ADRESS | TELEFON | Ålder |
|---|---|---|---|---|
| 1 | Bagge | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | tjugo |
| 4 | VISST | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | tjugo |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SOUVIK | DUMBUM | XXXXXXXXX | 18 |
Viktiga punkter om SQL INSERT INTO-sats
- INSERT INTO-satsen används för att lägga till nya poster till en tabell i en databas
- Det tillåter att infoga flera poster i en enda sats genom att tillhandahålla flera uppsättningar värden.
- Om du inte anger kolumnnamnen antar satsen alla kolumner och värdena måste vara i samma ordning som tabelldefinitionen.
- Kolumner som inte ingår i INSERT-satsen kommer att fyllas med standardvärden, som vanligtvis är NULL.
- uttalandenvillkor.