logo

SQL SELECT INTO-sætning

Det SQL SELECT INTO-sætning bruges til at kopiere data fra en tabel til en ny tabel.

Bemærk: Forespørgslerne udføres i SQL Server, og de virker muligvis ikke i mange online SQL-editorer, så brug en offline-editor.



Syntaks

SQL INSERT INTO Syntaks er:

VÆLG kolonne1, kolonne2...
TIL NY_TABEL fra SOURCE_TABLE
HVOR Tilstand;

For at kopiere hele tabellens data ved hjælp af kommandoen INSERT INTO skal du bruge denne syntaks:



java replaceall streng

VÆLG *
INTO NEW_TABLE fra SOURCE_TABLE
HVOR Tilstand;

Parameter

  • NY_TABEL skal have samme skema og datatyper som den SOURCE_TABLE.
  • IND I betyder, i hvilken tabel vi skal kopiere.
  • Tilstand: En betingelse er en valgfri erklæring, der fortæller dig, hvilke rækker du skal vælge. Hvis du ikke angiver en betingelse, skal du blot vælge alle rækkerne fra den oprindelige tabel.

VÆLG I Eksempel

Lad os se på nogle eksempler på SELECT INTO-sætning i SQL , og forstå, hvordan du bruger det.

Først vil vi oprette en tabel Kunde og indsætte nogle tilfældige 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');>

Kundetabel:

Kundebord

Kundebord

pete davidson alder

INSERT INTO Statement Eksempel

I dette eksempel vil vi oprette en backup-kundetabel og derefter indsætte data i den tabel ved hjælp af SELECT INTO-sætningen.

Forespørgsel:

  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:

flyde til snor
SELECT INTO sætningsoutput

backup-kundetabel

Forespørgsel

inorder gennemkøring

Brug 'hvor' klausul kun at kopiere nogle rækker fra Kunden 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';>

Produktion

Produktion

produktion

Forespørgsel

For kun at kopiere nogle kolonner fra Kunden til backUpCustomer-tabellen skal du angive dem i forespørgslen.

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

fjerner sidste commit git
Produktion

Produktion

Indsæt INTO SELECT vs SELECT INTO

Begge udsagn kunne bruges til at kopiere data fra en tabel til en anden. Men INSERT INTO SELECT kunne kun bruges, hvis måltabellen eksisterer, mens SELECT INTO-sætningen kunne bruges, selvom måltabellen ikke eksisterer, da den opretter måltabellen, hvis den ikke eksisterer.

INSERT INTO backUpCustomer select * from Customer;>

HERE table tempTable skal være til stede eller oprettet på forhånd, ellers smider en fejl. Indsæt INTO SELECT vs SELECT INTO

SELECT * INTO backUpCustomer from Customer;>

Her er det ikke nødvendigt at eksistere før, da SELECT INTO opretter en tabel, hvis tabellen ikke eksisterer, og derefter kopierer dataene.