Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Какви са различните начини за вмъкване на данни в таблицата на SQL Server - SQL Server / TSQL урок, част 100

Сценарий:

Като разработчик на SQL Server, вие трябва да имате различни начини за вмъкване на данни в таблица на SQL Server.
Понякога трябва просто да вмъкнете статични записи, понякога трябва да вмъкнете данни от друга таблица в съществуваща таблица. Нека да проверим различни техники за вмъкване на данни в таблицата на SQL Server.

Решение:

Нека първо създадем таблицата dbo.Customer, като използваме дефиниция по-долу.
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) Използвайте множество вмъквания, за да вмъкнете данни в таблицата.


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) Използвайте единично вмъкване с множество стойности

Както в горния пример, ние използваме множество вмъквания. Всеки вмъкваше един запис. В SQL Server можем да използваме единично вмъкване с множество стойности, както е показано по-долу.
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) Използвайте Select with Insert за вмъкване на записи

Можем да използваме заявка Insert with Select, за да вмъкнем резултантния набор, върнат от заявката за избор.
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) Използвайте Insert, без да предоставяте имена на колони

Както видяхте в горните примери, използвах списък с колони с Insert, не е нужно да го използвате, ако знаете, че редът на колоните и стойностите, които използвате, също са в ред. Винаги използвам списъка с колони при вмъкване и избирам, за да се уверя, че вмъквам правилни данни в таблицата в правилните колони.
--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) Вмъкване на данни от друга таблица в таблицата на местоназначението

Както видяхме, резултатите от заявката за избор могат да бъдат вмъкнати в таблица. В горните примери сме използвали статичните стойности с select, Можете да изберете данните от таблица, изглед и функция и т.н., за да вмъкнете във вашата таблица. Да речем, ако искаме да вмъкнем данни в таблицата dbo.Customer от таблицата dbo.CustomerUS. можете да използвате заявката по-долу.
--Insert into table from another table
Select into dbo.Customer(FName,LName,Age,DOB,Salary)
Select FName,LName,Age,DOB,Salary from dbo.CustomerUS


Видео демонстрация:Как да вмъкнете данни в таблицата на SQL Sever чрез използване на 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. ATN2() Примери в SQL Server

  2. YEAR() Примери в SQL Server (T-SQL)

  3. Свържете SQL Server към SugarCRM

  4. Как да създам уникално ограничение, което също позволява нулеви стойности?

  5. Създайте публичен профил по подразбиране за поща от база данни в SQL Server (T-SQL)