logo

SQL SELECT INTO-sats

De SQL SELECT INTO-sats används för att kopiera data från en tabell till en ny tabell.

Notera: Frågorna körs i SQL Server, och de kanske inte fungerar i många SQL-redigerare online, så det är bättre att använda en offlineredigerare.



Syntax

SQL INSERT INTO Syntax är:

VÄLJ kolumn1, kolumn2...
INTO NEW_TABLE från SOURCE_TABLE
VAR Tillstånd;

java samlingar

För att kopiera hela tabellens data med kommandot INSERT INTO, använd denna syntax:



VÄLJ *
INTO NEW_TABLE från SOURCE_TABLE
VAR Tillstånd;

Parameter

  • NEW_TABELL bör ha samma schema och datatyper som SOURCE_TABLE.
  • IN I betyder i vilken tabell vi behöver kopiera.
  • Skick: Ett villkor är ett valfritt uttalande som talar om för dig vilka rader du ska välja. Om du inte anger ett villkor väljer du bara alla rader från den ursprungliga tabellen.

VÄLJ IN Exempel

Låt oss titta på några exempel på SELECT INTO-satsen i SQL och förstå hur man använder det.

Först skapar vi en tabell Kund och infogar några slumpmässiga data:



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

Kundtabell:

Kundbord

Kundbord

INSERT INTO Statement Exempel

I det här exemplet kommer vi att skapa en backupCustomer-tabell och sedan infogar vi data i den tabellen med hjälp av SELECT INTO-satsen.

Fråga:

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

Produktion:

SELECT INTO-satsutdata

backup kundtabell

Fråga

int i sträng

Använd 'var' klausul för att bara kopiera några rader från Kunden till backUpCustomer-tabellen.

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

Produktion

Produktion

produktion

Fråga

För att bara kopiera vissa kolumner från Kunden till backUpCustomer-tabellen anger du dem i frågan.

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

Produktion

Produktion

Produktion

Infoga INTO SELECT vs SELECT INTO

Båda satserna kan användas för att kopiera data från en tabell till en annan. Men INSERT INTO SELECT kan endast användas om måltabellen existerar medan SELECT INTO-satsen kan användas även om måltabellen inte finns eftersom den skapar måltabellen om den inte finns.

INSERT INTO backUpCustomer select * from Customer;>

HERE table tempTable bör finnas eller skapat i förväg, annars får du ett fel. Infoga INTO SELECT vs SELECT INTO

SELECT * INTO backUpCustomer from Customer;>

Här är det inte nödvändigt att existera innan eftersom SELECT INTO skapar en tabell om tabellen inte finns och sedan kopierar data.