sql >> Database >  >> RDS >> Sqlserver

Een back-up maken van of een nieuwe tabel maken van een bestaande SQL Server-tabel in SQL Server - SQL Server / TSQL-zelfstudie, deel 105

Scenario:

U werkt als SQL Server-ontwikkelaar, u moet enkele update- of verwijderscripts verstrekken om gegevens uit een tabel bij te werken of te verwijderen. U wilt een back-up van die records maken of als de tabel klein is, wilt u misschien een back-up van de hele tabel maken voordat u voer update- of delete-instructies uit.

Hoe zou u een back-up maken van de hele tabel of alleen de records waarop u update- of delete-instructies moet uitvoeren?

Oplossing:

SQL Server biedt geen back-up op tabelniveau. Als we zeggen dat we de back-up van de tabel willen maken, hebben we het over het maken van een kopie van een bestaande tabel met records.
Stel dat we een dbo.Klanttabel hebben met weinig records en we willen een back-uptabel maken dbo.Customber_Bkp_TodayDate, we kunnen onderstaand script gebruiken
Maak eerst een dbo.Customer-tabel met voorbeeldrecords
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))

--Use the Insert Into with Values single Statement
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)
 
 
 Laten we nu een dbo.Customber_Bkp_TodayDate back-uptabel maken met alle records die aanwezig zijn in dbo.Customer.
Select * into dbo.Customber_Bkp_20160507 from dbo.Customer


Om een ​​nieuwe tabel met records te maken, moet u Into NewTable van OldTable gebruiken, zoals hierboven weergegeven.
Als we alleen geïnteresseerd zijn om records te kopiëren waar FName='Aamir' onze zoekopdracht zal zijn hieronder.
Select * into dbo.Customber_Bkp_20160507_OnlyAamir from dbo.Customer where FName='Aamir'
 
Voer bovenstaande scripts uit en controleer de tabellen indien gemaakt met de vereiste records.
Een back-up maken van records naar een nieuwe tabel vanuit een bestaande SQL Server-tabel in SQL Server


Scripts gebruikt in de videodemo:
--Take the backup or create table for all records
Select * into [YourDBName].dbo.Customer_20160510  from [dbo].[Customer]

--Create table for selected records
Select * into [YourDBName].dbo.Customer_20160510_TwoRecords from [dbo].[Customer]
where id<=2

--Check if table is created successfully
Select * From [YourDBName].dbo.Customer_20160510_TwoRecords

Select * from [dbo].[Customer]

--Update Records in current table
update [dbo].[Customer]
set LName=LName+' Test'
where id<=2


--Update records in current table from backup table
update d 
set d.LName=s.LName
from [YourDBName].dbo.Customer_20160510_TwoRecords s
inner join [dbo].[Customer] d
on s.id=d.id
 


Videodemo:snel een nieuwe tabel maken van een bestaande tabel met gegevens in SQL Server


  1. SQL, een tabel maken

  2. WordPress installeren met WP-CLI

  3. Dubbele sleutels negeren tijdens 'kopiëren van' in postgresql

  4. een SQL-rij hashen?