logo

SQL SELECT INTO-setning

De SQL SELECT INTO-setning brukes til å kopiere data fra en tabell til en ny tabell.

Merk: Spørringene utføres i SQL Server, og de fungerer kanskje ikke i mange online SQL-redigerere, så det er best å bruke en offline-editor.



Syntaks

SQL INSERT INTO Syntaks er:

VELG kolonne1, kolonne2...
INTO NEW_TABLE fra SOURCE_TABLE
HVOR Tilstand;

For å kopiere hele tabellens data ved å bruke INSERT INTO-kommandoen, bruk denne syntaksen:



java replaceall streng

PLUKKE UT *
INTO NEW_TABLE fra SOURCE_TABLE
HVOR Tilstand;

Parameter

  • NEW_TABLE skal ha samme skjema og datatyper som SOURCE_TABLE.
  • INN I betyr i hvilken tabell vi må kopiere.
  • Betingelse: En betingelse er en valgfri setning som forteller deg hvilke rader du skal velge. Hvis du ikke spesifiserer en betingelse, velger du bare alle radene fra den opprinnelige tabellen.

VELG I Eksempel

La oss se på noen eksempler på SELECT INTO-setning i SQL , og forstå hvordan du bruker den.

Først skal vi lage en tabell Kunde og sette inn noen tilfeldige 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');>

Kundetabell:

Kundebord

Kundebord

java hale

INSERT INTO Statement Eksempel

I dette eksemplet vil vi lage en backupCustomer Table og deretter sette inn data i den tabellen ved å bruke SELECT INTO-setningen.

Spørsmål:

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

Produksjon:

gi nytt navn til en katalog
SELECT INTO-utskrift

backup-kundetabell

Spørsmål

inordergjennomgang

Bruke 'hvor'-klausulen for å kopiere bare noen rader fra kunde til 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';>

Produksjon

Produksjon

produksjon

Spørsmål

For å kopiere bare noen kolonner fra kunde til backUpCustomer-tabellen, spesifiser dem i spørringen.

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

Produksjon

k klyngealgoritme
Produksjon

Produksjon

Sett inn INTO SELECT vs SELECT INTO

Begge setningene kan brukes til å kopiere data fra en tabell til en annen. Men INSERT INTO SELECT kan bare brukes hvis måltabellen eksisterer, mens SELECT INTO-setningen kan brukes selv om måltabellen ikke eksisterer ettersom den oppretter måltabellen hvis den ikke eksisterer.

INSERT INTO backUpCustomer select * from Customer;>

HERE table tempTable bør være tilstede eller opprettet på forhånd, ellers får du en feil. Sett inn INTO SELECT vs SELECT INTO

SELECT * INTO backUpCustomer from Customer;>

Her er det ikke nødvendig å eksistere før da SELECT INTO oppretter en tabell hvis tabellen ikke eksisterer og deretter kopierer dataene.