Instrukcja SQL INSERT INTO dodaje dane do nowo utworzonych lub istniejących tabel. Za pomocą tego zapytania możemy dodać pojedyncze rekordy lub wiele rekordów w tabeli.
Istnieją dwa możliwe sposoby dodawania danych do tabeli:
- Wspomnij o nazwie pola, a wartości zostaną dodane do tabeli.
- Jeśli dodamy wartości dla wszystkich pól tabeli, nie musimy podawać nazwy pola w instrukcji lub zapytaniu SQL INSERT INTO. Ale upewnij się, że kolejność wartości jest taka sama jak kolejność kolumn w tabeli.
Składnia instrukcji SQL INSERT INTO, wymieniając nazwy pól w instrukcji lub zapytaniu:
INSERT INTO Table_Name (Column_Name1, Column_Name2, Column_Name3, Column_Name4, Column_Name5) VALUES (Value1, Value2, Value3, Value4, Value5);
Nazwa_kolumny1, Nazwa_kolumny2, Nazwa_kolumny3, Nazwa_kolumny4, Nazwa_kolumny5 to nazwy pól w tabelach, do których chcemy dodać wartości.
Składnia instrukcji SQL INSERT INTO bez wymieniania nazw pól w instrukcji lub zapytaniu:
INSERT INTO Table_Name VALUES (Value1, Value2, Value3, Value4, Value5);
Powyższa składnia służy do wstawiania wartości we wszystkich polach tabel.
Poniższe zestawienia utworzyłyby osiem rekordów w tabeli Customer.
WSTAW KLIENTA (identyfikator_klienta, nazwa_klienta, wiek, adres, wynagrodzenie)
WARTOŚCI (1, „Rakesh”, 32, „Ahmedabad”, 20000);
WSTAW KLIENTA (identyfikator_klienta, nazwa_klienta, wiek, adres, wynagrodzenie)
WARTOŚCI (2, „Kamlesh”, 27, „Delhi”, 15000);
WSTAW KLIENTA (identyfikator_klienta, nazwa_klienta, wiek, adres, wynagrodzenie)
WARTOŚCI (3, „kaustubh”, 25, „Pune”, 20000);
WSTAW KLIENTA (identyfikator_klienta, nazwa_klienta, wiek, adres, wynagrodzenie)
WARTOŚCI (4, „Chaitali”, 25, „Mumbai”, 15000);
WSTAW KLIENTA (identyfikator_klienta, nazwa_klienta, wiek, adres, wynagrodzenie)
WARTOŚCI (5, „Himesz”, 29, „Delhi”, 45000);
WSTAW KLIENTA (identyfikator_klienta, nazwa_klienta, wiek, adres, wynagrodzenie)
WARTOŚCI (6, „Komal”, 22, „MP”, 45000);
WSTAW KLIENTA (identyfikator_klienta, nazwa_klienta, wiek, adres, wynagrodzenie)
WARTOŚCI (7, „Nikhlesh”, 28, „Delhi”, 40000);
WSTAW KLIENTA (identyfikator_klienta, nazwa_klienta, wiek, adres, wynagrodzenie)
WARTOŚCI (8, „Kamolika”, 24, „Pune”, 50000);
W powyższym oświadczeniu INSERT INTO dodaliśmy rekordy w tabeli Customer, wymieniając nazwy pól tabeli.
Możemy dodać dane do tabeli bez wymieniania nazwy pola tabeli:
Poniższe przykładowe instrukcje utworzyłyby sześć rekordów w tabeli Customer.
WSTAW W WARTOŚCI KLIENTA (9, „Raman”, 30, „Mumbai”, 35500);
WSTAW W WARTOŚCI KLIENTA (10, „Manoj”, 40, „Pune”, 45000);
WSTAWIĆ WARTOŚCI KLIENTA (11, „Shweta”, 26, „MP”, 42500);
WSTAWIĆ WARTOŚCI Klienta (12, „Shivani”, 25, „Delhi”, 50000);
WSTAWIĆ WARTOŚCI Klienta (13, „Rahul”, 28, „Nashik”, 34000);
WSTAWIĆ WARTOŚCI Klienta (14, „Sahil”, 22, „Nashik”, 27000);
W powyższym przykładzie instrukcji INSERT INTO dodaliśmy rekordy bez wymieniania nazwy pól w zapytaniu.
Wszystkie powyższe zapytania wygenerują następujące dane w tabeli Customer, jak pokazano poniżej:
Identyfikator_klienta | Nazwa_klienta | Wiek | Adres | Wynagrodzenie |
1 | Rakesh | 32 | Ahmadabad | 20000 |
2 | Kamlesz | 27 | Delhi | 15000 |
3 | Kausubh | 25 | Pune | 20000 |
4 | Chaitali | 25 | Bombaj | 15000 |
5 | Himesz | 29 | Delhi | 45000 |
6 | Komal | 22 | MP | 45000 |
7 | Nikhlesh | 28 | Delhi | 40000 |
8 | Kamolika | 24 | Pune | 50000 |
9 | Raman | 30 | Bombaj | 35500 |
10 | Manoj | 40 | Pune | 45000 |
11 | Szweta | 26 | MP | 42500 |
12 | Shivani | 25 | Delhi | 50000 |
13 | Rahul | 28 | Nashik | 34000 |
14 | Sahil | 22 | Nashik | 27 000 |
Instrukcja INSERT INTO SELECT.
Instrukcja INSERT INTO SELECT to także sposób na dodawanie rekordów do tabeli. Instrukcja INSERT INTO SELECT służy do wstawiania rekordów do jednej tabeli z istniejącej tabeli. Gdzie wszystkie pola i kolejność pól są takie same.
Utworzymy kolejnego Klienta i użyjemy tych samych pól z powyższej tabeli Klientów.
CREATE TABLE Customers (Customer_Id int Primary key, Customer_Name varchar(40), Age int, Address Varchar(20), Salary int);
Użyj polecenia DESC, a następnie nazwy tabeli Klienci, aby wyświetlić strukturę tabeli.
Pola | Typ | Numer | Klucz | Domyślne | Dodatkowe |
Identyfikator klienta | Int(11) | NIE | PRI | NULL | |
Nazwa_klienta | Varchar(40) | TAK | NULL | ||
Wiek | Int(11) | TAK | NULL | ||
Adres | Varchar(20) | TAK | NULL | ||
Wynagrodzenie | Int(11) | TAK | NULL |
Możemy dodać rekordy do tabeli za pomocą instrukcji SELECT nad inną tabelą.
Składnia polecenia 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;
Przykład instrukcji INSERT INTO SELECT:
INSERT INTO Customers SELECT * FROM Customer;
W powyższym przykładzie zapytania INSERT INTO SELECT wszystkie rekordy z tabeli Customer są dodawane do tabeli Customers.
Poniższe dane w tabeli Klienci są pokazane poniżej:
Identyfikator_klienta | Nazwa_klienta | Wiek | Adres | Wynagrodzenie |
1 | Rakesz | 32 | Ahmadabad | 20000 |
2 | Kamlesz | 27 | Delhi | 15000 |
3 | Kausubh | 25 | Pune | 20000 |
4 | Chaitali | 25 | Bombaj | 15000 |
5 | Himesz | 29 | Delhi | 45000 |
6 | Komal | 22 | MP | 45000 |
7 | Nikhlesh | 28 | Delhi | 40000 |
8 | Kamolika | 24 | Pune | 50000 |
9 | Raman | 30 | Bombaj | 35500 |
10 | Manoj | 40 | Pune | 45000 |
11 | Szweta | 26 | MP | 42500 |
12 | Shivani | 25 | Delhi | 50000 |
13 | Rahul | 28 | Nashik | 34000 |
14 | Sahil | 22 | Nashik | 27 000 |