IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

5. diel - MS-SQL krok za krokom: Import

V minulej lekcii, MS-SQL krok za krokom: Export, sme si ukázali rôzne typy exportov databázy.

Dnes si v MS-SQL tutoriáli vytvorenú zálohu (export) databázy a tabuľky z tejto lekcie skúsime naimportovať, tzn. nahrať na server alebo databázu.

Všetky T-SQL scripty a súbory, ktoré dnes budeme používať, si môžete stiahnuť na konci tejto lekcie, ak ich už nemáte.

Import celej databázy

Na import celej databázy využijeme náš DACPAC súbor, ktorý máme vygenerovaný, alebo ho nájdeme priložený na konci tejto lekcie. Skúsime si ho naimportovať na náš lokálny server. V SQL Server Object Explorer klikneme pravým tlačidlom na priečinok Databases/ nášho konkrétneho servera, pre nás je to (LocalDB)\MSSQLLocalDB, a zvolíme Publish Data-tier Application...:

Publish Data-tier Application - MS-SQL databázy krok za krokom

Otvorí sa nám tento dialóg:

Publish Data-tier Application dialóg - MS-SQL databázy krok za krokom

V tomto dialógu najskôr zvolíme náš .dacpac súbor, najjednoduchšie kliknutím na Browse.... Ďalej zvolíme názov novej databázy a potvrdíme tlačidlom Publish. Úspešnosť importu sa vypíše v okne Data Tools Operations:

Data Tools Operations - MS-SQL databázy krok za krokom

V okne SQL Server Object Explorer sa nám databáza objaví až po jeho obnovení, ktoré vykonáme kliknutím na tlačidlo Refresh v ľavom hornom rohu:

Refresh - MS-SQL databázy krok za krokom

Ako môžete vidieť, tak kópia databázy je nahraná.

Import dát

Keďže máme vygenerovaný T-SQL script s dátami tabuľky Users, tak si ich teraz skúsime naimportovať. Najskôr však všetky dáta z tejto tabuľky zmažeme. Zobrazíme si ich pomocou Show Table Data, vyberieme všetky záznamy a stlačíme DEL, alebo pravé tlačidlo a Delete:

Delete - MS-SQL databázy krok za krokom

Alebo taktiež môžeme na databáze zavolať tento T-SQL script:

DELETE FROM [Users];

Teraz v tabuľke nemáme žiadne dáta. Import dát do tabuľky vykonáme spustením nášho T-SQL scriptu na konkrétnu databázu. Pre istotu ho tu uvediem:

SET IDENTITY_INSERT [dbo].[Users] ON
INSERT INTO [dbo].[Users] ([Id], [FirstName], [LastName], [BirthDate], [NumberOfArticles]) VALUES (1, N'John', N'Smith', N'1984-11-03', 17)
INSERT INTO [dbo].[Users] ([Id], [FirstName], [LastName], [BirthDate], [NumberOfArticles]) VALUES (2, N'Thomas', N'Williams', N'1989-02-01', 6)
INSERT INTO [dbo].[Users] ([Id], [FirstName], [LastName], [BirthDate], [NumberOfArticles]) VALUES (3, N'Joseph', N'Miller', N'1972-12-20', 9)
SET IDENTITY_INSERT [dbo].[Users] OFF

Keby sme dáta importovali do inak pomenovanej tabuľky, tak samozrejme musíme všade v skripte prepísať názov tabuľky Users.

Spustenie scriptu

V prípade, že sme si ho uložili do súboru, máme dve možnosti, ako ho spustiť.

Prvou možnosťou je daný súbor so scriptom pretiahnuť do hlavného okna Visual Studia, čím ho v ňom otvoríme. Tento script však nebude naviazaný na našu databázu, a tak pri jeho spustení budeme vyzvaní k jej vybraniu. My používame lokálnu databázu na lokálnom serveri, preto zvolíme MSSQLLocalDB av kolónke Database Name našu databázu, autentifikáciu necháme na predvolenej Windows Authentication:

Dialóg pre výber databázy - MS-SQL databázy krok za krokom

Po potvrdení tlačidlom Connect sa script vykoná a vypíše sa správa:

Správa po importe dát - MS-SQL databázy krok za krokom

Druhú možnosť už vlastne poznáme. Klikneme pravým tlačidlom na požadovanú databázu v okne Server Explorer alebo SQL Server Object Explorer, zvolíme New Query a do nového scriptu skopírujeme obsah nášho uloženého scriptu, ktorý si môžeme otvoriť v nejakom textovom editore. Nakoniec novo vytvorený script spustíme. Tento prístup je vhodnejší v situácii, keď si konkrétny T-SQL script neukladáme do súboru.

Import celej tabuľky

Pre import celej tabuľky aj s jej dátami by sme mali mať vygenerovaný tento T-SQL script, alebo ho tiež nájdeme v priloženom súbore na konci tejto lekcie:

USE [WebDatabaseCopy]
GO

/****** Object: Table [dbo].[Users] Script Date: 04.07.2024 13:31:41 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

DROP TABLE [dbo].[Users];


GO
CREATE TABLE [dbo].[Users] (
    [Id]               INT        IDENTITY (1, 1) NOT NULL,
    [FirstName]        NCHAR (60) NULL,
    [LastName]         NCHAR (60) NULL,
    [BirthDate]        DATE       NULL,
    [NumberOfArticles] INT        NULL
);

SET IDENTITY_INSERT [dbo].[Users] ON
INSERT INTO [dbo].[Users] ([Id], [FirstName], [LastName], [BirthDate], [NumberOfArticles]) VALUES (1, N'John', N'Smith ', N'1984-11-03', 17)
INSERT INTO [dbo].[Users] ([Id], [FirstName], [LastName], [BirthDate], [NumberOfArticles]) VALUES (2, N'Thomas', N'Williams', N'1989-02-01', 6)
INSERT INTO [dbo].[Users] ([Id], [FirstName], [LastName], [BirthDate], [NumberOfArticles]) VALUES (3, N'Joseph', N'Miller', N'1972-12-20', 9)
SET IDENTITY_INSERT [dbo].[Users] OFF

Pokiaľ tabuľku importujete do inej databázy, tak je potrebné zmeniť jej názov za príkazom USE.

Nech vidíme, že sa script naozaj urobil, tak si tabuľku zmažeme. V SQL Server Object Explorer na ňu klikneme pravým tlačidlom a zvolíme Delete. Na pozadí sa vygeneruje script pre jej zmazanie a my ho len potvrdíme tlačidlom Update Database:

Vymazanie tabuľky - MS-SQL databázy krok za krokom

Náš T-SQL script opäť otvoríme jeho pretiahnutím do okna Visual Studia, alebo ho z tejto lekcie prekopírujeme do okna New Query, spustíme a previažeme s našou databázou. Vypíše sa nám, že tabuľka nemohla byť zmazaná, pretože neexistuje, ale to nevadí, zvyšok scriptu by sa mal vykonať bez problémov.

Týmto sme ukončili tému exportu a importu databázy vo Visual Studiu :) Pre pokročilejšie možnosti exportu a importu je potrebné použiť nástroj SQL Server Management Studio. To umožňuje napr. aj export a import do/z rôznych typov súborov, . csv, .xlsx atď.

V nasledujúcom kvíze, Kvíz - Tvorba, vkladanie, import a export dát v MS-SQL, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 21x (3.96 kB)

 

Predchádzajúci článok
MS-SQL krok za krokom: Export
Všetky články v sekcii
MS-SQL databázy krok za krokom
Preskočiť článok
(neodporúčame)
Kvíz - Tvorba, vkladanie, import a export dát v MS-SQL
Článok pre vás napísal Radek Vymětalík
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
...
Aktivity