Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

4. diel - Oracle krok za krokom: Vývoz

V minulej lekcii, Oracle krok za krokom: Vkladanie a mazanie dát v tabuľke , sme si ukázali vkladanie a mazanie záznamov.

Dnes si vyskúšame vyexportovať databázu, ktorá sa nám bude určite mnohokrát hodiť.

Export

Export (alebo tiež "záloha") je súbor so SQL príkazy, ktorá nám môže slúžiť na zálohu, migráciu či na import databázy.

Export môžeme rozdeliť na:

  • kompletný export - súbor bude obsahovať ako štruktúru tabuliek, tak i ich dáta
  • export štruktúry - súbor bude obsahovať len štruktúru databázy taký export môže obsahovať pokojne všetky alebo len vybrané tabuľky
  • taký export môže obsahovať pokojne všetky alebo len vybrané tabuľky
  • export dát - súbor bude obsahovať len dáta tabuliek aké tabuľky môžeme tiež špecifikovať
  • aké tabuľky môžeme tiež špecifikovať

Takto rozdeliť môžeme aj typy importov, keďže tento súbor budeme pravdepodobne importovať.

Najprv musíme nejaké dáta vložiť do databázy, aby sme ich mohli exportovať. Ak ste ich v minulej lekcii zmazali, môžeme si znova pár záznamov z minulej lekcie vložiť týmto SQL príkazom:

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 teda v databáze záznamy troch osôb:

Oracle

Export dát

Skúsme si najprv exportovať dáta konkrétnej tabuľky. Môžeme to najjednoduchšie urobiť tak, že pravým tlačidlom klikneme na konkrétnu tabuľku vľavo v navigácii a zvolíme možnosť Vývoz:

Oracle

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

Oracle

Tento spôsob exportu je rýchly a tiež vhodný, ak nepotrebujeme špecifikovať napríklad znakovú sadu, kompresiu súboru, doplňovacie príkazy a ďalšie podrobnosti. Môžeme u tohto spôsobu špecifikovať formát súboru exportu:

  • CSV - využíva sa často pre export do programu MS Excel, dáta sú oddelené čiarkou
  • JSON - hojne sa využíva v JavaScripte a API webových aplikácií
  • XML, PHP array a ďalšie.

Teraz pre export zvolíme formát .sql, a to tak, že klikneme na tlačidlo Browse, a ako File Type zvolíme SQL Script (* .SQL):

Oracle

Pre budúce export je SQL formát tiež najvhodnejšie. Môžeme tiež rovno zmeniť umiestnenie, kde sa nám nový súbor vytvorí. Ak máme hotovo, klikneme na tlačidlo Ďalej a zobrazí sa nám nasledovné:

Oracle

Tu môžeme kliknutím pod Columns špecifikovať, aké stĺpce sa majú exportovať. My ale nechávame vyexportovať všetky stĺpce, a klikneme teda znovu na tlačidlo Ďalej a potom na tlačidlo Dokončiť.

Súbor sa vyexportovali a rovno sa nám automaticky otvoril v SQL Developer:

Oracle

Úplne na začiatku máme informáciu o tom, kedy sme súbor vyexportovali.

Sivou farbou máme označené komentáre, čiže riadok komentujeme pomocou dvoch pomlčiek --. Všetko, čo bude za týmito spojovníkom na rovnakom riadku už bude komentár a nie je na ne z programového hľadiska braný ohľad. Viacriadkové komentáre začneme pomocou znakov /* a ukončujeme pomocou */, ako to môžeme poznať z väčšiny programovacích jazykov.

O pár riadkov nižšie vidíme nadpis DDL for Table UZIVATELE, čo vo voľnom preklade znamená "jazyk pre definíciu dát tabuľky UZIVATELE ", a v časti pod ním si okrem iného môžeme všimnúť nami použitých SQL dotazov CREATE a INSERT. Ďalej máme časť s nadpisom DDL for Index UZIVATELE_PK, ktorá obsahuje informácie o hlavnom kľúči tabuľky UZIVATELE. Na konci dokumentu potom vidíme časť Constraints for Table UZIVATELE, kde sú vypísané obmedzenia pre jednotlivé stĺpce.

DDL je skratka D ata D efinition L Anguage. DDL používa príkazy napr. Na vytvorenie databázy, užívateľov, tabuliek, obmedzenia a ďalšie.

DML je skratka D ata M anipulation L Anguage. DML používa príkazy UPDATE, DELETE a INSERT, čiže príkazy na manipuláciu s dátami.

Tento súbor si zatiaľ ponechajte, využijeme ho pre budúce import.

Ak chceme exportovať iba dáta, postup je rovnaký, len v prvom kroku exporte zrušíme výber u Vývoz DLL:

Oracle

Zvyšok exportu prebieha rovnako, po dokončení sa nám súbor opäť sám otvorí v SQL Developer:

Oracle

Vidíme, že tentoraz súbor okrem informácie o vytvorení obsahuje len príkazy INSERT. Tento súbor môžete však zmazať, potrebovať ho už nebudeme.

Aby sme si ukázali export aj pre iný formát ako sql, skúsime si dáta ešte vyexportovať do formátu csv. Rovnakým postupom v oknu s exportom opäť zrušíme výber u Export DLL, u Vývoz Dáta zmeníme Format na csv, Encoding na Cp1250 a ako File Type zvolíme tiež csv:

Oracle

Encoding je dôležitá časť. Ak súbor bude používať kódovanie, ktoré nepodporuje diakritiku, môžeme mať problém s prečítaním znakov pri ich importu (budeme tam mať tzv. Klikiháky).

Po exporte sa nám vytvorí súbor csv, ktorý potom môžeme otvoriť napr. V Exceli (resp. Importujeme CSV súbor). Pokiaľ ho otvoríme, uvidíme v ňom len názvy stĺpcov tabuľky, z ktorej sme exportovali, a hodnoty našich troch záznamov. Tento súbor si tiež ponechajte, využijeme ho pri importe dát v nasledujúcej lekcii.

Export celej databázy

Ak chceme vyexportovať kompletne celú databázu so všetkými tabuľkami, je to opäť veľmi jednoduché. V hornom menu zvolíme Tools -> Database Export. Potom musíme zvoliť databázu, ktorú chceme vyexportovať. Môžeme si opäť vybrať či chceme exportovať dáta, DDL, či oboje. V ďalších krokoch môžeme zvoliť, čo všetko chceme exportovať, alebo či napr. Chceme nejakú tabuľku či stĺpec z exportu vynechať.

Export z viacerých databáz naraz

Poslednou vecou, ktorú si v tejto lekcií ukážeme, je export tabuliek z niekoľkých databáz naraz. Využijeme na to nástroj Cart (teda košík). V hornej lište zvolíme položku View a klikneme na Cart:

Oracle

Otvorí sa nám podokno košíka, kam môžeme pretiahnuť tabuľky z akejkoľvek databázy, ku ktorej sme pripojení. Opäť môžeme zvoliť, či chceme exportovať DDL (štruktúru), DML (dáta), alebo oboje, a klikneme na tlačidlo Vývoz Cart:

Oracle

Otvorí sa nám okno veľmi podobné tomu, s ktorým sme dnes už pracovali. Klikneme na tlačidlo Použiť a export je hotový:)

V ďalšej lekcii, Oracle krok za krokom: Import , si ukážeme import dát.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

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

Stiahnuté 26x (1.13 kB)
Aplikácia je vrátane zdrojových kódov

 

Predchádzajúci článok
Oracle krok za krokom: Vkladanie a mazanie dát v tabuľke
Všetky články v sekcii
Oracle
Preskočiť článok
(neodporúčame)
Oracle krok za krokom: Import
Článok pre vás napísal Matěj Kadlec
Avatar
Užívateľské hodnotenie:
1 hlasov
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