Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 4 - Oracle krok za krokem: Export

V minulé lekci, Oracle krok za krokem: Vkládání a mazání dat v tabulce, jsme si ukázali vkládání a mazání záznamů.

Dnes si vyzkoušíme vyexportovat databázi, která se nám bude jistě mnohokrát hodit.

Export

Export (nebo také "záloha") je soubor se SQL příkazy, která nám může sloužit na zálohu, migraci či na import databáze.

Export můžeme rozdělit na:

  • kompletní export - soubor bude obsahovat jak strukturu tabulek, tak i jejich data
  • export struktury - soubor bude obsahovat pouze strukturu databáze
    • takový export může obsahovat klidně všechny nebo pouze vybrané tabulky
  • export dat - soubor bude obsahovat pouze data tabulek
    • jaké tabulky můžeme také specifikovat

Takto rozdělit můžeme i typy importů, jelikož tento soubor budeme pravděpodobně importovat.

Nejprve musíme nějaké data vložit do databáze, abychom je mohli exportovat. Pokud jste je v minulé lekci smazali, můžeme si znova pár záznamů z minulé lekce vložit tímto SQL příkazem:

INSERT ALL
INTO UZIVATELE (
    UZIVATELE_ID, JMENO, PRIJMENI, DATUM_NAROZENI, POCET_CLANKU
)
VALUES (
    1, 'Karel',  'Novák',  '25.6.1979', 10
)
INTO UZIVATELE (
    UZIVATELE_ID, JMENO, PRIJMENI, DATUM_NAROZENI, POCET_CLANKU
)
VALUES (
    2, 'Adam',  'Mladý',  '12.8.2001', 2
)
INTO UZIVATELE (
    UZIVATELE_ID, JMENO, PRIJMENI, DATUM_NAROZENI, POCET_CLANKU
)
VALUES (
    3, 'Petr',  'Starý',  '13.4.1992', 18
)
SELECT 1 FROM DUAL;

Máme tedy v databázi záznamy tří osob:

Oracle

Export dat

Zkusme si nejprve exportovat data konkrétní tabulky. Můžeme to nejjednodušeji udělat tak, že pravým tlačítkem klikneme na konkrétní tabulku vlevo v navigaci a zvolíme možnost Export:

Oracle

Po kliknutí na tlačítko Export uvidíme toto okno:

Oracle

Tento způsob exportu je rychlý a také vhodný, pokud nepotřebujeme specifikovat například znakovou sadu, kompresi souboru, doplňovací příkazy a další podrobnosti. Můžeme u tohoto způsobu specifikovat formát souboru exportu:

  • CSV - využívá se často pro export do programu MS Excel, data jsou odděleny čárkou
  • JSON - hojně se využívá v JavaScriptu a API webových aplikací
  • XML, PHP array a další.

Nyní pro export zvolíme formát .sql, a to tak, že klikneme na tlačítko Browse, a jako File Type zvolíme SQL Script (*.sql):

Oracle

Pro budoucí export je SQL formát také nejvhodnější. Můžeme také rovnou změnit umístění, kde se nám nový soubor vytvoří. Pokud máme hotovo, klikneme na tlačítko Další a zobrazí se nám následující:

Oracle

Zde můžeme kliknutím pod Columns specifikovat, jaké sloupce se mají exportovat. My ale necháváme vyexportovat všechny sloupce, a klikneme tedy znovu na tlačítko Další a poté na tlačítko Dokončit.

Soubor se vyexportoval a rovnou se nám automaticky otevřel v SQL Developeru:

Oracle

Úplně na začátku máme informaci o tom, kdy jsme soubor vyexportovali.

Šedou barvou máme označené komentáře, čili řádek komentujeme pomocí dvou pomlček --. Vše, co bude za těmito pomlčkami na stejném řádku již bude komentář a není na ně z programového hlediska brán zřetel. Víceřádkové komentáře začneme pomocí znaků /* a ukončujeme pomocí */, jak to můžeme znát z většiny programovacích jazyků.

O pár řádků níže vidíme nadpis DDL for Table UZIVATELE, což ve volném překladu znamená "jazyk pro definici dat tabulky UZIVATELE", a v části pod ním si mimo jiné můžeme všimnout námi použitých SQL dotazů CREATE a INSERT. Dále máme část s nadpisem DDL for Index UZIVATELE_PK, která obsahuje informace o primárním klíči tabulky UZIVATELE. Na konci dokumentu poté vidíme část Constraints for Table UZIVATELE, kde jsou vypsány omezení pro jednotlivé sloupce.

DDL je zkratka Data Definition Language. DDL používá příkazy např. na vytvoření databáze, uživatelů, tabulek, omezení a další.

DML je zkratka Data Manipulation Language. DML používá příkazy UPDATE, DELETE a INSERT, čili příkazy na manipulaci s daty.

Tento soubor si zatím ponechte, využijeme ho pro budoucí import.

Pokud chceme exportovat pouze data, postup je stejný, pouze v prvním kroku exportu zrušíme výběr u Export DLL:

Oracle

Zbytek exportu probíhá stejně, po dokončení se nám soubor opět sám otevře v SQL Developeru:

Oracle

Vidíme, že tentokrát soubor kromě informace o vytvoření obsahuje pouze příkazy INSERT. Tento soubor můžete však smazat, potřebovat ho už nebudeme.

Abychom si ukázali export i pro jiný formát než sql, zkusíme si data ještě vyexportovat do formátu csv. Stejným postupem v oknu s exportem opět zrušíme výběr u Export DLL, u Export Data změníme Format na csv, Encoding na Cp1250 a jako File Type zvolíme také csv:

Oracle

Encoding je důležitá část. Pokud soubor bude používat kódování, které nepodporuje diakritiku, můžeme mít problém s přečtením znaků při jejich importu (budeme tam mít tzv. klikyháky).

Po exportu se nám vytvoří soubor csv, který poté můžeme otevřít např. v Excelu (resp. importujeme CSV soubor). Pokud jej otevřeme, uvidíme v něm pouze názvy sloupců tabulky, z které jsme exportovali, a hodnoty našich tří záznamů. Tento soubor si také ponechejte, využijeme jej při importu dat v následující lekci.

Export celé databáze

Pokud chceme vyexportovat kompletně celou databázi se všemi tabulkami, je to opět velice jednoduché. V horním menu zvolíme Tools -> Database Export. Poté musíme zvolit databázi, kterou chceme vyexportovat. Můžeme si opět vybrat zda chceme exportovat data, DDL, či obojí. V dalších krocích můžeme zvolit, co vše chceme exportovat, nebo zda např. chceme nějakou tabulku či sloupec z exportu vynechat.

Export z více databází najednou

Poslední věcí, kterou si v této lekcí ukážeme, je export tabulek z několika databází najednou. Využijeme k tomu nástroj Cart (tedy košík). V horní liště zvolíme položku View a klikneme na Cart:

Oracle

Otevře se nám podokno košíku, kam můžeme přetáhnout tabulky z jakékoliv databáze, ke které jsme připojeni. Opět můžeme zvolit, zda chceme exportovat DDL (strukturu), DML (data), nebo obojí, a klikneme na tlačítko Export Cart:

Oracle

Otevře se nám okno velmi podobné tomu, se kterým jsme dnes již pracovali. Klikneme na tlačítko Použít a export je hotov :)

V další lekci, Oracle krok za krokem: Import, si ukážeme import dat.


 

Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.

Stáhnout

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

Staženo 18x (1.13 kB)
Aplikace je včetně zdrojových kódů

 

Předchozí článek
Oracle krok za krokem: Vkládání a mazání dat v tabulce
Všechny články v sekci
Oracle
Přeskočit článek
(nedoporučujeme)
Oracle krok za krokem: Import
Článek pro vás napsal Matěj Kadlec
Avatar
Uživatelské hodnocení:
29 hlasů
Autor se programování věnuje od střední školy, nyní studuje informatiku na VŠB-TUO a pracuje jako ETL developer pro společnost IDC. Mezi jeho oblíbené jazyky patří Python a SQL.
Aktivity