L'istruzione INSERT INTO in SQL viene utilizzata per aggiungere nuovi record a una tabella in un database. È un comando fondamentale per l'inserimento dei dati e serve per inserire nuovi dati nelle tabelle.
Sintassi
Esistono due sintassi delle istruzioni INSERT INTO a seconda dei requisiti. Le due sintassi sono:
1. Solo valori
Il primo metodo consiste nel specificare solo il valore dei dati da inserire senza i nomi delle colonne.
INSERISCI IN nome_tabella
VALORI (valore1, valore2, valore);
Qui,
- nome_tabella: nome della tabella.
- valore1, valore2: valore della prima colonna, della seconda colonna,… per il nuovo record
2. Nomi e valori delle colonne entrambi
Nel secondo metodo specificheremo sia le colonne che vogliamo riempire sia i loro valori corrispondenti come mostrato di seguito:
INSERIRE nome_tabella (colonna1, colonna2, colonna3)
VALORI (valore1, valore2, valore);
Qui,
- nome_tabella: nome della tabella.
- colonna1, colonna2...: nome della prima colonna, seconda colonna.
- valore1, valore2, valore..: valore della prima colonna, della seconda colonna,… per il nuovo record
SQL INSERT INTO Esempi
Diamo un'occhiata ad alcuni esempi di istruzione INSERT INTO in SQL per capirla meglio.
Supponiamo che ci sia un database Studenti e vogliamo aggiungere valori.
divisione della stringa c++
| ROLL_NO | NOME | INDIRIZZO | TELEFONO | ETÀ |
|---|---|---|---|---|
| 1 | Ram | Delhi | xxxxxxxxxxxx | 18 |
| 2 | RAMESH | GURGAON | xxxxxxxxxxxx | 18 |
| 3 | SUJIT | ROHTAK | xxxxxxxxxxxx | venti |
| 4 | SICURO | ROHTAK | xxxxxxxxxxxx | 18 |
| 3 | SUJIT | ROHTAK | xxxxxxxxxxxx | venti |
| 2 | RAMESH | GURGAON | xxxxxxxxxxxx | 18 |
Inserimento solo di nuovi valori utilizzando l'esempio INSERT INTO
Se vogliamo inserire solo valori allora utilizziamo la seguente query:
Domanda:
INSERT INTO Student VALUES ('5','HARSH','WEST BENGAL', 'XXXXXXXXXX','19');> Produzione:
modello di progettazione Java
La tavola Alunno ora sarà simile a questo:
| ROLL_NO | NOME | INDIRIZZO | TELEFONO | Età |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | venti |
| 4 | SICURO | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | venti |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 5 | DURO | BENGALA OCCIDENTALE | XXXXXXXXX | 19 |
Inserisci valori nelle colonne specificate utilizzando l'esempio INSERT INTO
Se vogliamo inserire valori nelle colonne specificate allora utilizziamo la seguente query:
Domanda:
INSERT INTO Student (ROLL_NO, NAME, Age) VALUES ('5','PRATIK','19');> Produzione:
La tavola Alunno ora sarà simile a questo:
| ROLL_NO | NOME | INDIRIZZO | TELEFONO | Età |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | venti |
| 4 | SICURO | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | venti |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 5 | PRATICA | nullo | nullo | 19 |
Si noti che le colonne per le quali non vengono forniti i valori vengono riempite con null. Quali sono i valori predefiniti per quelle colonne?
Inserisci più righe in una tabella utilizzando un'istruzione SQL singola
Puoi utilizzare la tecnica indicata per inserire più righe in una tabella in una singola query. Ciò consente di risparmiare tempo nella scrittura delle query e di ridurre l'errore di margine.
Sintassi:
INSERT INTO nome_tabella(Colonna1,Colonna2,Colonna3,…….)
VALORI (Valore1, Valore2,Valore3,…..),
(Valore1, Valore2,Valore3,…..),
(Valore1, Valore2,Valore3,…..),
……………..;
Dove,
- nome_tabella: nome della tabella.
Colonna 1: nome della prima colonna, seconda colonna. - Valori: Valore1, Valore2, Valore3: il valore della prima colonna, seconda colonna.
- Per ogni nuova riga inserita, è necessario fornire più elenchi di valori in cui ciascun elenco è separato da ,. Ogni lista di valori corrisponde a valori da inserire in ogni nuova riga della tabella. I valori nell'elenco successivo indicano i valori da inserire nella riga successiva della tabella.
Inserisci più righe in una tabella utilizzando un esempio di istruzione SQL singola:
La seguente istruzione SQL inserisce più righe nella tabella Studente.
bin in bcd
Domanda:
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');>
Produzione:
Pertanto la tabella STUDENT sarà simile a questa:
| ID | NOME | ETÀ | GRADO | CITTÀ |
|---|---|---|---|---|
| 1 | AMIT KUMAR | quindici | 10 | DELHI |
| 2 | GAURI RAO | 18 | 12 | BANGALORE |
| 3 | MANAV BHATT | 17 | undici | NUOVA DELHI |
| 4 | RIYA KAPOOR | 10 | 5 | UDAIPUR |
S QL INSERIRE NELLA SELEZIONE
IL SQL INSERISCI NELLA SELEZIONE L'istruzione viene utilizzata per copiare i dati da una tabella e inserirli in un'altra tabella. L'uso di questa istruzione è simile a quello dell'istruzione INSERT INTO. La differenza è che il Istruzione SELEZIONATA viene utilizzato qui per selezionare i dati da una tabella diversa. I diversi modi di utilizzare l'istruzione INSERT INTO SELECT sono mostrati di seguito:
INSERIRE NELLA SELEZIONE Sintassi
Esistono due sintassi per l'utilizzo dell'istruzione INSERT INTO SELECT, a seconda del suo utilizzo.
Copia tutte le colonne e inserisci
La sintassi per utilizzare la query INSERT INTO SELECT per inserire tutti i dati da una tabella a un'altra tabella:
INSERT INTO prima_tabella SELECT * FROM seconda_tabella;
Qui,
- prima_tabella: nome della prima tabella.
- seconda_tabella: nome della seconda tabella.
Abbiamo utilizzato l'istruzione SELECT per copiare i dati da una tabella e l'istruzione INSERT INTO per inserirli da una tabella diversa.
Copia colonne specifiche e inserisci
La sintassi per utilizzare la query INSERT INTO SELECT per inserire dati specifici da una tabella a un'altra tabella:
loro sono cantanti
INSERISCI IN prima_tabella(nomi_di_colonne1)
SELEZIONA nomi_di_colonne2 FROM seconda_tabella;
Qui,
- prima_tabella : nome della prima tabella. second_table: nome della seconda tabella.
- nomi delle colonne1: nome delle colonne separate da virgola(,) per la tabella 1.
- nomi delle colonne2 : nome delle colonne separate da virgola(,) per la tabella 2.
Abbiamo utilizzato l'istruzione SELECT per copiare i dati delle colonne selezionate solo dalla seconda tabella e l'istruzione INSERT INTO per inserirli nella prima tabella.
C copia righe specifiche e inserisci
Possiamo copiare righe specifiche da una tabella per inserirle in un'altra tabella utilizzando la clausola WHERE con l'istruzione SELECT. Dobbiamo fornire condizioni appropriate nella clausola WHERE per selezionare righe specifiche.
La sintassi per utilizzare la query INSERT INTO SELECT per inserire righe specifiche dalla tabella
INSERT INTO tabella1 SELECT * FROM tabella2 WHERE condizione;
Qui,
- prima_tabella : nome della prima tabella.
- seconda_tabella : nome della seconda tabella.
- condizione : condizione per selezionare righe specifiche.
SQL INSERT INTO SELECT Esempi
Diamo un'occhiata ad alcuni esempi di istruzione INSERT INTO SELECT per capirla meglio.
Supponiamo che esista un database LateralStudent.
| ROLL_NO | NOME | INDIRIZZO | TELEFONO | Età |
|---|---|---|---|---|
| 7 | SOUVIK | HYDERABAD | XXXXXXXXX | 18 |
| 8 | NIRAJ | NOIDA | XXXXXXXXX | 19 |
| 9 | QUALCOSA | ROHTAK | XXXXXXXXX | venti |
Inserimento di tutte le righe e colonne utilizzando l'esempio INSERT INTO SELECT
Se vogliamo inserire solo valori allora utilizziamo la seguente query:
modelli di apprendimento automatico
Domanda:
INSERT INTO Student SELECT * FROM LateralStudent;>
Produzione:
Questa query inserirà tutti i dati della tabella LateralStudent nella tabella Student. La tabella Student ora apparirà così,
| ROLL_NO | NOME | INDIRIZZO | TELEFONO | Età |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | venti |
| 4 | SICURO | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | venti |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SOUVIK | DUMBUM | XXXXXXXXX | 18 |
| 8 | NIRAJ | NOIDA | XXXXXXXXX | 19 |
| 9 | QUALCOSA | ROHTAK | XXXXXXXXX | venti |
Inserimento di colonne specifiche utilizzando l'esempio INSERT INTO SELECT
Se vogliamo inserire valori nelle colonne specificate allora utilizziamo la seguente query:
Domanda:
INSERT INTO Student(ROLL_NO,NAME,Age) SELECT ROLL_NO, NAME, Age FROM LateralStudent;>
Produzione:
Questa query inserirà i dati nelle colonne ROLL_NO, NAME e Age della tabella LateralStudent nella tabella Student e le restanti colonne nella tabella Student verranno riempite da nullo che è il valore predefinito delle restanti colonne. La tabella Student ora apparirà così,
| ROLL_NO | NOME | INDIRIZZO | TELEFONO | Età |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | venti |
| 4 | SICURO | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | venti |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SOUVIK | nullo | nullo | 18 |
| 8 | NIRAJ | nullo | nullo | 19 |
| 9 | QUALCOSA | nullo | nullo | venti |
Inserisci righe specifiche utilizzando l'esempio INSERT INTO SELECT:
INSERT INTO Student SELECT * FROM LateralStudent WHERE Age = 18;>
Produzione:
Questa query selezionerà solo la prima riga della tabella LateralStudent da inserire nella tabella Student. La tabella Student ora apparirà così,
| ROLL_NO | NOME | INDIRIZZO | TELEFONO | Età |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | venti |
| 4 | SICURO | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | venti |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SOUVIK | DUMBUM | XXXXXXXXX | 18 |
Punti importanti sull'istruzione SQL INSERT INTO
- L'istruzione INSERT INTO viene utilizzata per aggiungere nuovi record a una tabella in un database
- Consente di inserire più record in una singola istruzione fornendo più insiemi di valori.
- Se non specifichi i nomi delle colonne, l'istruzione presuppone che tutte le colonne e i valori debbano essere nello stesso ordine della definizione della tabella.
- Le colonne non incluse nell'istruzione INSERT verranno riempite con valori predefiniti, che in genere sono NULL.
- condizionidichiarazioni.