The SQL SELECT INTO sakinys naudojamas duomenims iš vienos lentelės kopijuoti į naują lentelę.
Pastaba: Užklausos vykdomos SQL serveryje ir gali neveikti daugelyje internetinių SQL redaktorių, todėl geriau naudoti neprisijungusį redaktorių.
Sintaksė
SQL INSERT INTO sintaksė yra:
vilkas prieš lapę
PASIRINKTI 1 stulpelį, 2 stulpelį…
Į NAUJĄ_LENTELĘ iš SOURCE_TABLE
KUR Būklė;
Norėdami nukopijuoti visus lentelės duomenis naudodami komandą INSERT INTO, naudokite šią sintaksę:
PASIRINKTI*
Į NEW_TABLE iš SOURCE_TABLE
KUR Būklė;
Parametras
- NEW_TABLE turėtų turėti tą pačią schemą ir duomenų tipus kaip ir SOURCE_TABLE.
- Į reiškia, kurioje lentelėje turime kopijuoti.
- Būklė: Sąlyga yra pasirenkamas sakinys, nurodantis, kurias eilutes pasirinkti. Jei nenurodysite sąlygos, tiesiog pasirinksite visas pradinės lentelės eilutes.
PASIRINKTI Į Pavyzdys
Pažvelkime į keletą pavyzdžių SELECT INTO pareiškimas SQL , ir suprasti, kaip juo naudotis.
Pirmiausia sukursime lentelę Klientas ir įterpsime keletą atsitiktinių duomenų:
CREATE TABLE Customer( CustomerID INT PRIMARY KEY , CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age int(2), Phone int(10) ); -- Insert some sample data into the Customers table INSERT INTO Customer (CustomerID, CustomerName, LastName, Country, Age, Phone) VALUES (1, 'Shubham', 'Thakur', 'India','23','xxxxxxxxxx'), (2, 'Aman ', 'Chopra', 'Australia','21','xxxxxxxxxx'), (3, 'Naveen', 'Tulasi', 'Sri lanka','24','xxxxxxxxxx'), (4, 'Aditya', 'Arpan', 'Austria','21','xxxxxxxxxx'), (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain','22','xxxxxxxxxx');>
Klientų lentelė:

Klientų stalas
INSERT INTO pareiškimo pavyzdys
Šiame pavyzdyje sukursime atsarginę klientų lentelę ir įterpsime duomenis į tą lentelę naudodami teiginį SELECT INTO.
Užklausa:
CREATE TABLE backUpCustomer ( CustomerID INTEGER PRIMARY KEY AUTOINCREMENT, CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age INT, Phone VARCHAR(10) ); INSERT INTO backUpCustomer (CustomerName, LastName, Country, Age, Phone) SELECT CustomerName, LastName, Country, Age, Phone FROM Customer; SELECT * FROM backUpCustomer ;>
Išvestis:

atsarginė klientų lentelė
Užklausa
„Java“ masyvo sąrašo rūšiavimas
Naudoti „kur“ sąlyga nukopijuoti tik kai kurias Kliento eilutes į backUpCustomer lentelę.
CREATE TABLE OtherTable ( CustomerID INTEGER PRIMARY KEY AUTOINCREMENT, CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age INT, Phone VARCHAR(10) ); INSERT INTO OtherTable (CustomerName, LastName, Country, Age, Phone) SELECT CustomerName, LastName, Country, Age, Phone FROM Customer WHERE Country = 'India';>
Išvestis

išvestis
Užklausa
Norėdami nukopijuoti tik kai kuriuos Kliento stulpelius į backUpCustomer lentelę, nurodykite juos užklausoje.
CREATE TABLE backUpCustomers ( CustomerName VARCHAR(50), LastName VARCHAR(50), Age INT ); INSERT INTO backUpCustomers (CustomerName, LastName, Age) SELECT CustomerName, LastName, Age FROM Customer; SELECT * FROM backUpCustomers;>
Išvestis

Išvestis
Įterpti INTO SELECT vs SELECT INTO
Abu teiginiai gali būti naudojami duomenims kopijuoti iš vienos lentelės į kitą. Tačiau INSERT INTO SELECT galima naudoti tik tuo atveju, jei tikslinė lentelė egzistuoja, o sakinys SELECT INTO gali būti naudojamas net ir tada, kai tikslinė lentelė neegzistuoja, nes ji sukuria tikslinę lentelę, jei jos nėra.
INSERT INTO backUpCustomer select * from Customer;>
ČIA lentelė tempTable turėtų būti arba sukurta iš anksto, kitaip bus padaryta klaida. 
SELECT * INTO backUpCustomer from Customer;>
Čia nebūtina anksčiau egzistuoti, nes SELECT INTO sukuria lentelę, jei lentelės nėra, tada nukopijuoja duomenis.