L'istruzione SQL INSERT INTO aggiunge dati alle tabelle appena create o alle tabelle esistenti. Possiamo aggiungere record singoli o più record in una tabella utilizzando questa query.
Ci sono due modi possibili per aggiungere dati a una tabella:
- Menziona il nome del campo e i valori vengono aggiunti alla tabella.
- Se aggiungiamo valori per tutti i campi della tabella, non è necessario menzionare il nome del campo nell'istruzione o nella query SQL INSERT INTO. Tuttavia, assicurati che l'ordine dei valori sia lo stesso dell'ordine delle colonne nella tabella.
Sintassi per l'istruzione SQL INSERT INTO citando i nomi dei campi nell'istruzione o nella query:
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 sono i nomi dei campi nelle tabelle in cui vogliamo aggiungere valori.
La sintassi per l'istruzione SQL INSERT INTO senza menzionare i nomi dei campi nell'istruzione o nella query:
INSERT INTO Table_Name VALUES (Value1, Value2, Value3, Value4, Value5);
La sintassi di cui sopra serve per inserire valori in tutti i campi delle tabelle.
Le seguenti istruzioni creerebbero otto record nella tabella Cliente.
INSERT INTO Customer (Customer_Id, Customer_Name, Età, Indirizzo, Stipendio)
VALORI (1, 'Rakesh', 32, 'Ahmedabad', 20000);
INSERT INTO Customer (Customer_Id, Customer_Name, Età, Indirizzo, Stipendio)
VALORI (2, 'Kamlesh', 27, 'Delhi', 15000);
INSERT INTO Customer (Customer_Id, Customer_Name, Età, Indirizzo, Stipendio)
VALORI (3, 'kaustubh', 25, 'Pune', 20000);
INSERT INTO Customer (Customer_Id, Customer_Name, Età, Indirizzo, Stipendio)
VALORI (4, 'Chaitali', 25, 'Mumbai', 15000);
INSERT INTO Customer (Customer_Id, Customer_Name, Età, Indirizzo, Stipendio)
VALORI (5, 'Himesh', 29, 'Delhi', 45000);
INSERT INTO Customer (Customer_Id, Customer_Name, Età, Indirizzo, Stipendio)
VALORI (6, 'Komal', 22, 'MP', 45000);
INSERT INTO Customer (Customer_Id, Customer_Name, Età, Indirizzo, Stipendio)
VALORI (7, 'Nikhlesh', 28, 'Delhi', 40000);
INSERT INTO Customer (Customer_Id, Customer_Name, Età, Indirizzo, Stipendio)
VALORI (8, 'Kamolika', 24, 'Pune', 50000);
Nella dichiarazione INSERT INTO sopra, abbiamo aggiunto i record nella tabella Customer menzionando i nomi dei campi della tabella.
Possiamo aggiungere i dati alla tabella senza menzionare il nome del campo della tabella:
Le seguenti istruzioni di esempio creerebbero sei record nella tabella Cliente.
INSERIRE VALORI cliente (9, 'Raman', 30, 'Mumbai', 35500);
INSERIRE VALORI cliente (10, 'Manoj', 40, 'Pune', 45000);
INSERIRE VALORI cliente (11, 'Shweta', 26, 'MP', 42500);
INSERIRE VALORI cliente (12, 'Shivani', 25, 'Delhi', 50000);
INSERIRE VALORI cliente (13, 'Rahul', 28, 'Nashik', 34000);
INSERIRE VALORI cliente (14, 'Sahil', 22, 'Nashik', 27000);
Nell'esempio di istruzione INSERT INTO sopra, abbiamo aggiunto i record senza menzionare il nome dei campi nella query.
Tutte le query precedenti genererebbero i seguenti dati nella tabella Cliente come mostrato di seguito:
ID_cliente | Nome_cliente | Età | Indirizzo | Stipendio |
1 | Rakesh | 32 | Ahmedabad | 20000 |
2 | Kamlesh | 27 | Delhi | 15000 |
3 | Kausubh | 25 | Pune | 20000 |
4 | Chaitali | 25 | Mumbai | 15000 |
5 | Himesh | 29 | Delhi | 45000 |
6 | Komal | 22 | MP | 45000 |
7 | Nikhlesh | 28 | Delhi | 40000 |
8 | Kamolica | 24 | Pune | 50000 |
9 | Raman | 30 | Mumbai | 35500 |
10 | Manoj | 40 | Pune | 45000 |
11 | Sweta | 26 | MP | 42500 |
12 | Shivani | 25 | Delhi | 50000 |
13 | Rahul | 28 | Nashik | 34000 |
14 | Sahil | 22 | Nashik | 27000 |
INSERT INTO SELECT Statement.
L'istruzione INSERT INTO SELECT è anche un modo per aggiungere record alla tabella. L'istruzione INSERT INTO SELECT viene utilizzata per inserire record in una tabella dalla tabella esistente. Dove tutti i campi e l'ordine dei campi sono gli stessi.
Creeremo un altro Cliente e utilizzeremo gli stessi campi della tabella Clienti sopra.
CREATE TABLE Customers (Customer_Id int Primary key, Customer_Name varchar(40), Age int, Address Varchar(20), Salary int);
Utilizzare il comando DESC seguito dal nome della tabella Clienti per mostrare la struttura della tabella.
Campi | Tipo | Null | Chiave | Predefinito | Extra |
ID_cliente | Int(11) | NO | PRI | NULLO | |
Nome_cliente | Varchar(40) | SI | NULLO | ||
Età | Int(11) | SI | NULLO | ||
Indirizzo | Varchar(20) | SI | NULLO | ||
Stipendio | Int(11) | SI | NULLO |
Possiamo aggiungere record in una tabella tramite l'istruzione SELECT su un'altra tabella.
Sintassi di 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;
Esempio di istruzione INSERT INTO SELECT:
INSERT INTO Customers SELECT * FROM Customer;
Nell'esempio precedente della query INSERT INTO SELECT, tutti i record della tabella Customers vengono aggiunti alla tabella Customers.
I seguenti dati nella tabella Cliente sono mostrati di seguito:
ID_cliente | Nome_cliente | Età | Indirizzo | Stipendio |
1 | Rakesh | 32 | Ahmedabad | 20000 |
2 | Kamlesh | 27 | Delhi | 15000 |
3 | Kausubh | 25 | Pune | 20000 |
4 | Chaitali | 25 | Mumbai | 15000 |
5 | Himesh | 29 | Delhi | 45000 |
6 | Komal | 22 | MP | 45000 |
7 | Nikhlesh | 28 | Delhi | 40000 |
8 | Kamolica | 24 | Pune | 50000 |
9 | Raman | 30 | Mumbai | 35500 |
10 | Manoj | 40 | Pune | 45000 |
11 | Sweta | 26 | MP | 42500 |
12 | Shivani | 25 | Delhi | 50000 |
13 | Rahul | 28 | Nashik | 34000 |
14 | Sahil | 22 | Nashik | 27000 |