logo

Stavek SQL SELECT INTO

The Stavek SQL SELECT INTO se uporablja za kopiranje podatkov iz ene tabele v novo tabelo.

Opomba: Poizvedbe se izvajajo v SQL Serverju in morda ne bodo delovale v mnogih spletnih urejevalnikih SQL, zato je bolje uporabiti urejevalnik brez povezave.



moj živi čriček

Sintaksa

Sintaksa SQL INSERT INTO je:

IZBERI stolpec1, stolpec2 ...
V NEW_TABLE iz SOURCE_TABLE
KJE Pogoj;

Če želite kopirati celotne podatke tabele z ukazom INSERT INTO, uporabite to sintakso:



IZBERI *
INTO NEW_TABLE iz SOURCE_TABLE
KJE Pogoj;

Parameter

  • NOVA_TABLE mora imeti isto shemo in tipe podatkov kot ta SOURCE_TABLE.
  • INTO pomeni, v katero tabelo moramo kopirati.
  • Pogoj: Pogoj je neobvezna izjava, ki vam pove, katere vrstice izbrati. Če ne določite pogoja, boste samo izbrali vse vrstice iz izvirne tabele.

SELECT INTO Primer

Poglejmo si nekaj primerov Izjava SELECT INTO v SQL in razumeti, kako ga uporabljati.

Najprej bomo ustvarili tabelo Customer in vstavili nekaj naključnih podatkov:



  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');>

Tabela strank:

Tabela strank

Tabela strank

Primer izjave INSERT INTO

V tem primeru bomo ustvarili rezervno tabelo strank in nato v to tabelo vstavili podatke s stavkom SELECT INTO.

poizvedba:

  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 ;>

Izhod:

Izhod stavka SELECT INTO

varnostno kopiranje tabele strank

Poizvedba

pete davidson starost

Uporabi klavzula 'kje' da kopirate samo nekatere vrstice iz Customer v tabelo backUpCustomer.

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';>

Izhod

Izhod

izhod

Poizvedba

Če želite kopirati samo nekatere stolpce iz Customer v tabelo backUpCustomer, jih določite v poizvedbi.

java načrtovalni vzorec
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;>

Izhod

Izhod

Izhod

Vstavi INTO SELECT proti SELECT INTO

Oba stavka je mogoče uporabiti za kopiranje podatkov iz ene tabele v drugo. Toda INSERT INTO SELECT bi lahko uporabili le, če ciljna tabela obstaja, medtem ko bi lahko stavek SELECT INTO uporabili tudi, če ciljna tabela ne obstaja, saj ustvari ciljno tabelo, če ne obstaja.

INSERT INTO backUpCustomer select * from Customer;>

HERE tabela tempTable bi morala biti prisotna ali ustvarjena vnaprej, sicer vrže napako. Vstavi INTO SELECT proti SELECT INTO

SELECT * INTO backUpCustomer from Customer;>

Tu ni nujno, da obstaja prej, saj SELECT INTO ustvari tabelo, če tabela ne obstaja, in nato kopira podatke.