logo

Příkaz SQL SELECT INTO

The SQL příkaz SELECT INTO slouží ke kopírování dat z jedné tabulky do nové tabulky.

Poznámka: Dotazy se spouštějí na serveru SQL Server a nemusí fungovat v mnoha online editorech SQL, takže je lepší použít offline editor.



Syntax

Syntaxe SQL INSERT INTO je:

VYBRAT sloupec1, sloupec2…
DO NEW_TABLE ze SOURCE_TABLE
KDE Podmínka;

Chcete-li zkopírovat celá data tabulky pomocí příkazu INSERT INTO, použijte tuto syntaxi:



VYBRAT *
INTO NEW_TABLE ze SOURCE_TABLE
KDE Podmínka;

Parametr

  • NEW_TABLE by měl mít stejné schéma a datové typy jako SOURCE_TABLE.
  • DO znamená, do které tabulky potřebujeme kopírovat.
  • Stav: Podmínka je volitelný příkaz, který vám říká, které řádky máte vybrat. Pokud neurčíte podmínku, vyberete pouze všechny řádky z původní tabulky.

SELECT INTO Příklad

Podívejme se na některé příklady příkaz SELECT INTO v SQL a pochopit, jak jej používat.

Nejprve vytvoříme tabulku Zákazník a vložíme náhodná 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');>

Tabulka zákazníků:

Tabulka zákazníků

Tabulka zákazníků

char na řetězec java

Příklad příkazu INSERT INTO

V tomto příkladu vytvoříme tabulku backupCustomer a poté do této tabulky vložíme data pomocí příkazu SELECT INTO.

Dotaz:

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

Výstup:

Výstup příkazu SELECT INTO

zálohování tabulky zákazníků

Dotaz

věk peta Davidsona

Použijte doložka „kde“. zkopírovat pouze některé řádky ze Zákazníka do tabulky 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';>

Výstup

Výstup

výstup

Dotaz

Chcete-li zkopírovat pouze některé sloupce od zákazníka do tabulky backUpCustomer, zadejte je v dotazu.

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

Výstup

Výstup

Výstup

Vložit INTO SELECT vs SELECT INTO

Oba příkazy lze použít ke kopírování dat z jedné tabulky do druhé. Ale INSERT INTO SELECT lze použít pouze v případě, že cílová tabulka existuje, zatímco příkaz SELECT INTO lze použít, i když cílová tabulka neexistuje, protože vytváří cílovou tabulku, pokud neexistuje.

INSERT INTO backUpCustomer select * from Customer;>

HERE table tempTable by měla být přítomna nebo vytvořena předem, jinak vyvolá chybu. Vložit INTO SELECT vs SELECT INTO

SELECT * INTO backUpCustomer from Customer;>

Zde není nutné dříve existovat, protože SELECT INTO vytvoří tabulku, pokud tabulka neexistuje, a poté zkopíruje data.