Pouze tento týden sleva až 80% na e-learning týkající se Kotlinu
Využij akce až 80% zdarma při nákupu e-learningu. Více informací .
Kotlin week

Lekce 5 - MS-SQL krok za krokem: Import Nové

V minulé lekci, MS-SQL krok za krokem: Export, jsme si ukázali různé typy exportů databáze.

Dnes si v MS-SQL tutoriálu vytvořenou zálohu (export) databáze a tabulky z této lekce zkusíme naimportovat, tzn. nahrát na server nebo databázi.

Všechny T-SQL scripty a soubory, které dnes budeme používat, si můžete stáhnout na konci této lekce, jestliže je již nemáte.

Import celé databáze

K importu celé databáze využijeme náš DACPAC soubor, který máme vygenerovaný, nebo ho najdeme přiložený na konci této lekce. Zkusíme si ho naimportovat na náš lokální server. V SQL Server Object Explorer klikneme pravým tlačítkem na složku Databases/ našeho konkrétního serveru, pro nás je to (LocalDB)\MSSQLLocalDB, a zvolíme Publish Data-tier Application...:

Publish Data-tier Application

Otevře se nám tento dialog:

Publish Data-tier Application dialog

V tomto dialogu nejprve zvolíme náš .dacpac soubor, nejjednodušeji kliknutím na Browse.... Dále zvolíme název nové databáze a potvrdíme tlačítkem Publish. Úspěšnost importu se vypíše v okně Data Tools Operations:

Data Tools Operations

V okně SQL Server Object Explorer se nám databáze objeví až po jeho obnovení, které provedeme kliknutím na tlačítko Refresh v levém horním rohu:

Refresh

Jak můžete vidět, tak kopie databáze je nahraná.

Import dat

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Jelikož máme vygenerovaný T-SQL script s daty tabulky Uzivatele, tak si je nyní zkusíme naimportovat. Nejdříve však všechna data z této tabulky smažeme. Zobrazíme si je pomocí Show Table Data, vybereme všechny záznamy a stiskneme DEL, nebo pravé tlačítko a Delete:

Delete

Nebo taktéž můžeme na databázi zavolat tento T-SQL script:

DELETE FROM [Uzivatele];

Nyní v tabulce nemáme žádná data. Import dat do tabulky provedeme spuštěním našeho T-SQL scriptu na konkrétní databázi. Pro jistotu ho zde uvedu:

SET IDENTITY_INSERT [dbo].[Uzivatele] ON
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (1, N'Jan', N'Novák', N'1984-11-03', 17)
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (2, N'Tomáš', N'Marný', N'1989-02-01', 6)
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (3, N'Josef', N'Nový', N'1972-12-20', 9)
SET IDENTITY_INSERT [dbo].[Uzivatele] OFF

Kdybychom data importovali do jinak pojmenované tabulky, tak samozřejmě musíme všude ve scriptu přepsat název tabulky Uzivatele.

Spuštění scriptu

V případě, že jsme si jej uložili do souboru, tak máme dvě možnosti, jak ho spustit.

První možností je daný soubor se scriptem přetáhnout do hlavního okna Visual Studia, čímž ho v něm otevřeme. Tento script však nebude navázaný na naši databázi, a tak při jeho spuštění budeme vyzváni k jejímu vybrání. My používáme lokální databázi na lokálním serveru, proto zvolíme MSSQLLocalDB a v kolonce Database Name naši databázi, autentifikaci necháme na výchozí Windows Authentication:

Dialog pro výběr databáze

Po potvrzení tlačítkem Connect se script vykoná a vypíše se zpráva:

Zpráva po importu dat

Druhou možnost již vlastně známe. Klikneme pravým tlačítkem na požadovanou databázi v okně Server Explorer nebo SQL Server Object Explorer, zvolíme New Query a do nového scriptu zkopírujeme obsah našeho uloženého scriptu, který si můžeme otevřít v nějakém textovém editoru. Nakonec nově vytvořený script spustíme. Tento přístup je vhodnější v situaci, kdy si konkrétní T-SQL script neukládáme do souboru.

Import celé tabulky

Pro import celé tabulky i s jejími daty bychom měli mít vygenerovaný tento T-SQL script, nebo ho také najdeme v přiloženém souboru na konci této lekce:

USE [DatabazeProWeb.MDF]
GO

/****** Object: Table [dbo].[Uzivatele] Script Date: 26.06.2021 15:48:35 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

DROP TABLE [dbo].[Uzivatele];


GO
CREATE TABLE [dbo].[Uzivatele] (
    [Id]            INT           IDENTITY (1, 1) NOT NULL,
    [Jmeno]         NVARCHAR (60) NOT NULL,
    [Prijmeni]      NVARCHAR (60) NOT NULL,
    [DatumNarozeni] DATE          NOT NULL,
    [PocetClanku]   INT           NOT NULL
);


SET IDENTITY_INSERT [dbo].[Uzivatele] ON
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (1, N'Jan', N'Novák', N'1984-11-03', 17)
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (2, N'Tomáš', N'Marný', N'1989-02-01', 6)
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (3, N'Josef', N'Nový', N'1972-12-20', 9)
SET IDENTITY_INSERT [dbo].[Uzivatele] OFF

Pokud tabulku importujete do jiné databáze, tak je potřeba změnit její název za příkazem USE.

Ať vidíme, že se script opravdu provedl, tak si tabulku smažeme. V SQL Server Object Explorer na ni klikneme pravým tlačítkem a zvolíme Delete. Na pozadí se vygeneruje script pro její smazání a my ho jen potvrdíme tlačítkem Update Database:

Vymazání tabulky

Náš T-SQL script opět otevřeme jeho přetažením do okna Visual Studia, nebo ho z této lekce překopírujeme do okna New Query, spustíme a provážeme s naší databází. Vypíše se nám, že tabulka nemohla být smazána, jelikož neexistuje, ale to nevadí, zbytek scriptu by se měl provést bez potíží.

Tímto jsme ukončili téma exportu a importu databáze ve Visual Studiu :) Pro pokročilejší možnosti exportu a importu je třeba použít nástroj SQL Server Management Studio. To umožňuje např. i export a import do/z různých typů souborů, .csv, .xlsx atd.

V příští lekci, MS-SQL krok za krokem: Výběr dat (vyhledávání), půjdeme na slíbené vyhledávání.


 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 8x (3.6 kB)

 

Předchozí článek
MS-SQL krok za krokem: Export
Všechny články v sekci
MS-SQL databáze krok za krokem
Článek pro vás napsal Radek Vymětalík
Avatar
Jak se ti líbí článek?
1 hlasů
...
Aktivity (2)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!