sql >> Databáze >  >> RDS >> Sqlserver

Jaké jsou různé způsoby vkládání dat do SQL Server Table - SQL Server / TSQL Tutorial část 100

Scénář:

Jako SQL Server Developer musíte přijít s různými způsoby vkládání dat do SQL Server Table.
Někdy musíte jednoduše vložit statické záznamy, někdy musíte vložit data z jiné tabulky do existující tabulky. Pojďme se podívat na různé techniky vkládání dat do tabulky SQL Serveru.

Řešení:

Nejprve vytvořte tabulku dbo.Customer pomocí níže uvedené definice.
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) K vložení dat do tabulky použijte vícenásobné vložení.


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) Použijte jednu přílohu s více hodnotami

Stejně jako ve výše uvedeném příkladu používáme více insertů. Každý vkládal jeden záznam. V SQL Serveru můžeme použít jednu vložku s více hodnotami, jak je uvedeno níže.
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) Použijte Vybrat s Vložit pro vložení záznamů

Můžeme použít Vložit s výběrovým dotazem k vložení sady výsledků vrácené výběrovým dotazem.
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) Použijte Vložit bez zadání názvů sloupců

Jak jste viděli ve výše uvedených příkladech, použil jsem seznam sloupců s Insert, nemusíte jej používat, pokud znáte pořadí sloupců a hodnoty, které používáte, jsou také v pořádku. Vždy používám seznam sloupců ve vložení a výběru, abych se ujistil, že vkládám správná data do tabulky ve správných sloupcích.
--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) Vložte data z jiné tabulky do cílové tabulky

Jak jsme viděli, výsledky výběrového dotazu lze vložit do tabulky. Ve výše uvedených příkladech jsme použili statické hodnoty s výběrem, můžete vybrat data z tabulky, zobrazení a funkce atd., která chcete vložit do tabulky. Řekněme, že pokud chceme vložit data do tabulky dbo.Customer z tabulky dbo.CustomerUS. můžete použít níže uvedený dotaz.
--Insert into table from another table
Select into dbo.Customer(FName,LName,Age,DOB,Salary)
Select FName,LName,Age,DOB,Salary from dbo.CustomerUS


Video ukázka:Jak vložit data do tabulky SQL Server pomocí příkazů T-SQL


  1. Skupiny dostupnosti SQL Server AlwaysOn:Instalace a konfigurace, část 1

  2. Nejrychlejší způsob, jak zjistit, zda záznam existuje

  3. Jak nastavit výchozí hodnotu pro existující sloupec

  4. Oracle Wait Events, které by měl znát každý