logo

SQL SELECT INTO pareiškimas

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

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:

SELECT INTO teiginio 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

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

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. Įterpti INTO SELECT vs SELECT INTO

SELECT * INTO backUpCustomer from Customer;>

Čia nebūtina anksčiau egzistuoti, nes SELECT INTO sukuria lentelę, jei lentelės nėra, tada nukopijuoja duomenis.