Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jakie są różne sposoby wstawiania danych do tabeli SQL Server — SQL Server / samouczek TSQL, część 100?

Scenariusz:

Jako programista SQL Server musisz mieć różne sposoby wstawiania danych do tabeli SQL Server.
Czasami musisz po prostu wstawić statyczne rekordy, czasami musisz wstawić dane z innej tabeli do istniejącej tabeli. Sprawdźmy różne techniki wstawiania danych do tabeli SQL Server.

Rozwiązanie:

Najpierw utwórzmy tabelę dbo.Customer, korzystając z poniższej definicji.
USE yourDatabaseName
Go
Create Table dbo.Customer(
Id int identity(1,1),
FName VARCHAR(50),
LName VARCHAR(50),
Age int,
DOB Date,
Salary Numeric(6,2))
 
 

1) Użyj wielu wstawek, aby wstawić dane do tabeli.


Insert into dbo.Customer(FName,LName,Age,DOB,Salary)
Values('Aamir','Shahzad',36,'1980-01-01',5000.50)
GO
Insert into dbo.Customer(FName,LName,Age,DOB,Salary)
Values ('Raza','M',33,'1983-03-03',4900.34)
GO
Insert into dbo.Customer(FName,LName,Age,DOB,Salary)
Values ('John','Smith',26,'1990-04-05',5000.50)
 
 
 

2) Użyj pojedynczej wstawki z wieloma wartościami

Jak w powyższym przykładzie, używamy wielu wstawek. Każdy wstawiał pojedynczy rekord. W SQL Server możemy użyć pojedynczej Insert z wieloma wartościami, jak pokazano poniżej.
Insert into dbo.Customer(FName,LName,Age,DOB,Salary)
Values('Aamir','Shahzad',36,'1980-01-01',5000.50),
('Raza','M',33,'1983-03-03',4900.34),
('John','Smith',26,'1990-04-05',5000.50)
 
 

3) Użyj Wybierz z Wstaw, aby wstawić rekordy

Możemy użyć polecenia Wstaw z zapytaniem wybierającym, aby wstawić zestaw wyników zwrócony przez zapytanie wybierające.
Insert into dbo.Customer(FName,LName,Age,DOB,Salary)
Select 'Aamir' as FName,'Shahzad' as LName,36 as Age,'1980-01-01' as DOB,5000.50 as Salary
union all
Select 'Raza','M',33,'1983-03-03',4900.34
Union all
Select 'John','Smith',26,'1990-04-05',5000.50
 
 
 

4) Użyj Wstaw bez podawania nazw kolumn

Jak widziałeś w powyższych przykładach, użyłem listy kolumn z opcją Insert, nie musisz jej używać, jeśli wiesz, że kolejność kolumn i wartości, których używasz, są również w kolejności. Zawsze używam listy kolumn we wstawieniu i zaznaczam, aby upewnić się, że wstawiam prawidłowe dane do tabeli w poprawnych kolumnach.
--Insert without provide Column Names
Insert into dbo.Customer
Select 'Aamir' as FName,'Shahzad' as LName,36 as Age,'1980-01-01' as DOB,5000.50 as Salary
union all
Select 'Raza','M',33,'1983-03-03',4900.34
Union all
Select 'John','Smith',26,'1990-04-05',5000.50
 
Also we can use the insert without Column Names with Values option
 
Insert into dbo.Customer
Values('Aamir','Shahzad',36,'1980-01-01',5000.50),
('Raza','M',33,'1983-03-03',4900.34),
('John','Smith',26,'1990-04-05',5000.50)
 

5) Wstaw dane z innej tabeli do tabeli docelowej

Jak widzieliśmy, wyniki zapytania wybierającego można wstawić do tabeli. W powyższych przykładach użyliśmy wartości statycznych z opcją select. Możesz wybrać dane z tabeli, widoku i funkcji itp. do wstawienia do tabeli. Powiedzmy, czy chcemy wstawić dane do tabeli dbo.Customer z tabeli dbo.CustomerUS. możesz użyć poniższego zapytania.
--Insert into table from another table
Select into dbo.Customer(FName,LName,Age,DOB,Salary)
Select FName,LName,Age,DOB,Salary from dbo.CustomerUS


Prezentacja wideo:Jak wstawić dane do tabeli serwera SQL za pomocą instrukcji T-SQL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Count(*) vs Count(1) — SQL Server

  2. SQL Server:Jak używać UNION z dwoma zapytaniami, które OBA mają klauzulę WHERE?

  3. CURRENT_TIMESTAMP Przykłady w SQL Server (T-SQL)

  4. Jak dodać kolumnę obliczeniową w tabeli SQL Server — samouczek SQL Server / T-SQL, część 47

  5. Nowe wydanie:pakiet dostrajania Spotlight 7.1.9