Instrucțiunea INSERT INTO în SQL este folosită pentru a adăuga înregistrări noi la un tabel dintr-o bază de date. Este o comandă fundamentală pentru inserarea datelor și este folosită pentru a introduce date noi în tabele.
Sintaxă
Există două sintaxe ale instrucțiunilor INSERT INTO în funcție de cerințe. Cele două sintaxe sunt:
1. Numai Valori
Prima metodă este de a specifica doar valoarea datelor care trebuie inserate fără numele coloanelor.
INSERT INTO table_name
VALORI (valoare1, valoare2, valoare);
Aici,
- table_name: numele mesei.
- valoare1, valoare2: valoarea primei coloane, a doua coloană,... pentru noua înregistrare
2. Numele coloanelor și valorile Ambele
În a doua metodă vom specifica atât coloanele pe care dorim să le umplem, cât și valorile corespunzătoare, după cum se arată mai jos:
INTRODU IN table_name (coloana1, coloana2, coloana3)
VALORI (valoare1, valoare2, valoare);
Aici,
- table_name: numele mesei.
- coloana 1, coloana 2...: numele primei coloane, a doua coloană.
- valoare1, valoare2, valoare...: valoarea primei coloane, a doua coloană,... pentru noua înregistrare
SQL INSERT INTO Exemple
Să ne uităm la câteva exemple de instrucțiune INSERT INTO în SQL pentru a o înțelege mai bine.
Să presupunem că există o bază de date Student și dorim să adăugăm valori.
10 ml în oz
| ROLA NUMĂRUL | NUME | ABORDARE | TELEFON | VÂRSTĂ |
|---|---|---|---|---|
| 1 | RAM | Delhi | xxxxxxxxxxxx | 18 |
| 2 | RAMESH | GURGAON | xxxxxxxxxxxx | 18 |
| 3 | SUJIT | ROHTAK | xxxxxxxxxxxx | douăzeci |
| 4 | SURESH | ROHTAK | xxxxxxxxxxxx | 18 |
| 3 | SUJIT | ROHTAK | xxxxxxxxxxxx | douăzeci |
| 2 | RAMESH | GURGAON | xxxxxxxxxxxx | 18 |
Inserarea numai a valorilor noi utilizând exemplul INSERT INTO
Dacă vrem să inserăm doar valori, atunci folosim următoarea interogare:
Interogare:
INSERT INTO Student VALUES ('5','HARSH','WEST BENGAL', 'XXXXXXXXXX','19');> Ieșire:
punct numpy
Masa Student acum va arata asa:
| ROLA NUMĂRUL | NUME | ABORDARE | TELEFON | Vârstă |
|---|---|---|---|---|
| 1 | RAM | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | douăzeci |
| 4 | SURESH | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | douăzeci |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 5 | ASPRU | BENGALA DE VEST | XXXXXXXXX | 19 |
Inserați valori în coloanele specificate utilizând exemplul INSERT INTO
Dacă dorim să inserăm valori în coloanele specificate, atunci folosim următoarea interogare:
Interogare:
INSERT INTO Student (ROLL_NO, NAME, Age) VALUES ('5','PRATIK','19');> Ieșire:
Masa Student acum va arata asa:
| ROLA NUMĂRUL | NUME | ABORDARE | TELEFON | Vârstă |
|---|---|---|---|---|
| 1 | RAM | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | douăzeci |
| 4 | SURESH | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | douăzeci |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 5 | PRACTICĂ | nul | nul | 19 |
Observați că coloanele pentru care nu sunt furnizate valorile sunt completate cu null. Care sunt valorile implicite pentru acele coloane?
Inserați mai multe rânduri într-un tabel utilizând o singură instrucțiune SQL
Puteți folosi tehnica dată pentru a insera mai multe rânduri într-un tabel într-o singură interogare. Acest lucru economisește timp pentru scrierea interogărilor și reduce eroarea de marjă.
Sintaxă:
INSERT INTO table_name(Coloana1,Coloana2,Coloana3,…….)
VALORI (Valoare1, Valoare2,Valoare3,…..),
(Valoare1, Valoare2,Valoare3,…..),
(Valoare1, Valoare2,Valoare3,…..),
……………………….. ;kat timpf greutate
Unde,
- table_name: numele mesei.
Coloana 1: numele primei coloane, a doua coloană. - Valori: Value1, Value2, Value3: valoarea primei coloane, a doua coloană.
- Pentru fiecare rând nou inserat, trebuie să furnizați mai multe liste de valori în care fiecare listă este separată prin ,. Fiecare listă de valori corespunde valorilor care trebuie introduse în fiecare rând nou al tabelului. Valorile din lista următoare indică valorile care trebuie inserate în următorul rând al tabelului.
Inserați mai multe rânduri într-un tabel folosind o singură instrucțiune SQL Exemplu:
Următoarea instrucțiune SQL inserează mai multe rânduri în tabelul Student.
Interogare:
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');>
Ieșire:
Astfel, STUDENT Table va arăta astfel:
| ID | NUME | VÂRSTĂ | NOTA | ORAȘ |
|---|---|---|---|---|
| 1 | AMIT KUMAR | cincisprezece | 10 | DELHI |
| 2 | GAURI RAO | 18 | 12 | BANGALORE |
| 3 | MANAV BHATT | 17 | unsprezece | NEW DELHI |
| 4 | RIYA KAPOOR | 10 | 5 | UDAIPUR |
S QL INSERT INTO SELECT
The SQL INSERT INTO SELECT instrucțiunea este folosită pentru a copia date dintr-un tabel și a le introduce într-un alt tabel. Utilizarea acestei instrucțiuni este similară cu cea a instrucțiunii INSERT INTO. Diferența este că instrucțiunea SELECT este folosit aici pentru a selecta date dintr-un tabel diferit. Diferitele moduri de utilizare a instrucțiunii INSERT INTO SELECT sunt prezentate mai jos:
INSERT INTO SELECT Sintaxă
Există două sintaxe pentru utilizarea instrucțiunii INSERT INTO SELECT, în funcție de utilizarea acesteia.
Copiați toate coloanele și inserați
Sintaxa pentru utilizarea interogării INSERT INTO SELECT pentru a insera toate datele dintr-un tabel într-un alt tabel:
INSERT INTO primul_tabel SELECT * FROM al doilea_tabel;
Aici,
- primul_tabel: numele primului tabel.
- al doilea_tabel: numele celui de-al doilea tabel.
Am folosit instrucțiunea SELECT pentru a copia datele dintr-un tabel și instrucțiunea INSERT INTO pentru a insera dintr-un tabel diferit.
Copiați anumite coloane și inserați
Sintaxa pentru utilizarea interogării INSERT INTO SELECT pentru a insera date specifice dintr-un tabel într-un alt tabel:
INSERT INTO primul_tabel(numele_coloanelor1)
SELECT numele_de_coloane2 FROM al doilea_tabel;
Aici,
- primul_tabel : numele primului tabel. second_table: numele celui de-al doilea tabel.
- numele coloanelor 1: numele coloanelor separate prin virgulă (,) pentru tabelul 1.
- numele coloanelor2 : numele coloanelor separate prin virgulă (,) pentru tabelul 2.
Am folosit instrucțiunea SELECT pentru a copia datele coloanelor selectate doar din al doilea tabel și instrucțiunea INSERT INTO pentru a le insera în primul tabel.
C opy Specific Rows și Insert
Putem copia anumite rânduri dintr-un tabel pentru a le insera într-un alt tabel utilizând clauza WHERE cu instrucțiunea SELECT. Trebuie să oferim condiții adecvate în clauza WHERE pentru a selecta anumite rânduri.
Sintaxa pentru utilizarea interogării INSERT INTO SELECT pentru a insera anumite rânduri din tabel
INSERT INTO table1 SELECT * FROM table2 WHERE condiție;
Aici,
indicator în c
- primul_tabel : numele primului tabel.
- al doilea_tabel : numele celui de-al doilea tabel.
- condiție : condiție pentru a selecta anumite rânduri.
SQL INSERT INTO SELECT Exemple
Să ne uităm la câteva exemple de instrucțiune INSERT INTO SELECT pentru a o înțelege mai bine.
Să presupunem că există o bază de date LateralStudent.
ce este rom
| ROLA NUMĂRUL | NUME | ABORDARE | TELEFON | Vârstă |
|---|---|---|---|---|
| 7 | SUUVIK | HYDERABAD | XXXXXXXXX | 18 |
| 8 | NIRAJ | NOIDA | XXXXXXXXX | 19 |
| 9 | SOMESH | ROHTAK | XXXXXXXXX | douăzeci |
Inserarea tuturor rândurilor și coloanelor folosind exemplul INSERT INTO SELECT
Dacă vrem să inserăm doar valori, atunci folosim următoarea interogare:
Interogare:
INSERT INTO Student SELECT * FROM LateralStudent;>
Ieșire:
Această interogare va insera toate datele din tabelul LateralStudent în tabelul Student. Tabelul Student va arăta acum astfel,
| ROLA NUMĂRUL | NUME | ABORDARE | TELEFON | Vârstă |
|---|---|---|---|---|
| 1 | RAM | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | douăzeci |
| 4 | SURESH | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | douăzeci |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SUUVIK | MUTUL | XXXXXXXXX | 18 |
| 8 | NIRAJ | NOIDA | XXXXXXXXX | 19 |
| 9 | SOMESH | ROHTAK | XXXXXXXXX | douăzeci |
Inserarea unor coloane specifice utilizând exemplul INSERT INTO SELECT
Dacă dorim să inserăm valori în coloanele specificate, atunci folosim următoarea interogare:
Interogare:
INSERT INTO Student(ROLL_NO,NAME,Age) SELECT ROLL_NO, NAME, Age FROM LateralStudent;>
Ieșire:
Această interogare va insera datele în coloanele ROLL_NO, NAME și Age ale tabelului LateralStudent în tabelul Student, iar coloanele rămase din tabelul Student vor fi completate de nul care este valoarea implicită a coloanelor rămase. Tabelul Student va arăta acum astfel,
| ROLA NUMĂRUL | NUME | ABORDARE | TELEFON | Vârstă |
|---|---|---|---|---|
| 1 | RAM | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | douăzeci |
| 4 | SURESH | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | douăzeci |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SUUVIK | nul | nul | 18 |
| 8 | NIRAJ | nul | nul | 19 |
| 9 | SOMESH | nul | nul | douăzeci |
Inserați anumite rânduri folosind exemplul INSERT INTO SELECT:
INSERT INTO Student SELECT * FROM LateralStudent WHERE Age = 18;>
Ieșire:
Această interogare va selecta doar primul rând din tabelul LateralStudent pentru a fi introdus în tabelul Student. Tabelul Student va arăta acum astfel,
| ROLA NUMĂRUL | NUME | ABORDARE | TELEFON | Vârstă |
|---|---|---|---|---|
| 1 | RAM | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | douăzeci |
| 4 | SURESH | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | douăzeci |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SUUVIK | MUTUL | XXXXXXXXX | 18 |
Puncte importante despre instrucțiunea SQL INSERT INTO
- Instrucțiunea INSERT INTO este utilizată pentru a adăuga înregistrări noi la un tabel dintr-o bază de date
- Permite inserarea mai multor înregistrări într-o singură instrucțiune prin furnizarea de mai multe seturi de valori.
- Dacă nu specificați numele coloanelor, instrucțiunea presupune toate coloanele și valorile trebuie să fie în aceeași ordine ca definiția tabelului.
- Coloanele care nu sunt incluse în instrucțiunea INSERT vor fi completate cu valori implicite, care sunt de obicei NULL.
- declarațiicondiție.