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 - SQLite - Export

V predchádzajúcom cvičení, Riešené úlohy k 1.-4. lekciu SQLite, sme si precvičili získané skúsenosti z predchádzajúcich lekcií.

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 s dátami, ktorý nám slúži ako záloha databázy, alebo ho potrebujeme na migráciu, či import databázy.

Export môžeme rozdeliť na:

  • kompletný export - súbor bude obsahovať ako štruktúru tabuliek, tak aj ich dáta
  • export štruktúry - súbor bude obsahovať iba štruktúru databázy- export môže obsahovať všetky alebo iba vybrané tabuľky
  • export dát - súbor bude obsahovať iba dáta tabuliek- tabuľky môžeme špecifikovať
Pred vlastným exportom budeme potrebovať dáta, ktoré chceme exportovať. Ak nám v tabuľke z minula žiadna nezostala, môžeme si vložiť dáta do našej tabuľky uzivatele pomocou jazyka SQL:
INSERT INTO `uzivatele` (
    `jmeno`,
    `prijmeni`,
    `datum_narozeni`,
    `pocet_clanku`
)
VALUES ('Jan', 'Novák', '1984-11-03', 17),
       ('Tomáš', 'Marný', '1989-02-01', 6),
       ('Josef', 'Nový', '1972-12-20', 9);

Alebo si môžeme vložiť vlastné údaje. Pre potreby našej dnešnej lekcie na obsahu dát nezáleží.

Ako exportovať?

Exportovať databázu alebo tabuľku je veľmi jednoduché. Stačí kliknúť na Súbor -> Export. Ďalej si môžeme vybrať z troch možností popísaných nižšie.

SQLite databázy krok za krokom - SQLite databázy krok za krokom

Databáza do súboru SQL...

Pri voľbe tejto možnosti sa nám zobrazí tento dialóg:

SQLite databázy krok za krokom - SQLite databázy krok za krokom

Ako názov operácie napovedá, táto akcia sa nám bude hodiť, ak budeme chcieť exportovať databázu do súboru .sql.

Výber tabuliek

Najprv musíme vybrať tabuľky, ktoré chceme exportovať. Je možné (rovnako ako na obrázku), že bude v ponuke aj tabuľka sqlite_sequence. Tú si vytvára SQLite samo, pokiaľ existuje tabuľka so stĺpcom označeným ako AUTOINCREMENT. V tabuľke sqlite_sequence je uložené posledné použité id. Môžeme, ale nemusíme ju vybrať, pretože výsledný súbor to nijako neovplyvní.

Možnosti INSERT

Ďalej máme možnosť Zachovať názvy stĺpcov v INSERT INTO. Súbor sql je skupina príkazov pre RDBMS, ktoré sa spúšťajú, a tým sa vytvárajú tabuľky a plnia sa dátami. Rozdiel v príkaze bude nasledujúci:

Pri zaškrtnutí možnosti:

INSERT INTO "uzivatele" ("uzivatele_id","jmeno","prijmeni","pocet_clanku") VALUES (1,'Jan','Novák','1984-11-03','17');

Pri NEzaškrtnutí možnosti:

INSERT INTO "uzivatele" VALUES (1,'Jan','Novák','1984-11-03','17');

Viac riadkov pre INSERT

Voľba Viac riadkov (VALUES) pre príkaz INSERT buď použije jeden INSERT, ktorý bude vkladať všetky záznamy, alebo (pri nezaškrtnutí) sa každý jeden záznam bude vkladať vlastným príkazom INSERT. Rovnako ako v predchádzajúcom prípade je ale výsledok následného importu nášho budúceho súboru rovnaký. Ide iba o zmenu syntaxe.

Obsah exportu

Ďalšia ponuka je rozbaľovacia s možnosťami, čo chceme exportovať:

  • Exportovať všetko
  • Exportovať iba schému
  • Exportovať iba dáta
Súbor exportu sa môže deliť na schému a dáta:
SQLite databázy krok za krokom - SQLite databázy krok za krokom

Výberom jednej z možností volíme obsah následného súboru. Súbor môže obsahovať:

  • schéma aj dáta (ako na obrázku vyššie)
  • schéma, ktorá vytvorí prázdnu tabuľku
  • dáta, ktoré sa vložia do už vytvorenej tabuľky
Existujúca tabuľka

Poslednou rozbaľovacou položkou volíme medzi možnosťami:

  • Keep old schema (CREATE TABLE IF NOT EXISTS) - dáta sa buď pripíšu do existujúcej tabuľky, alebo sa vytvorí nová tabuľka, do ktorej sa vložia exportované dáta
  • Prepísať starú schému (DROP TABLE then CREATE TABLE) - existujúca tabuľka sa odstráni a vytvorí sa nová tabuľka, do ktorej sa vložia exportované dáta.
Tabuľky ako súbor CSV...

Súbor CSV - Comma Seperated Values je súbor, v ktorom sú dáta oddelené separátorom (napr. čiarkou). Je nielen ľudsky čitateľný, ale umožňuje uložené dáta importovať napríklad do Excelu.

Pri voľbe tejto možnosti sa nám zobrazí tento dialóg:

SQLite databázy krok za krokom - SQLite databázy krok za krokom

Najprv si vyberieme tabuľky, ktoré chceme exportovať. Súbor CSV je ale jednoduchý, ako teda pozná, aké dáta patria akej tabuľke? Odpoveď je: nespozná. Preto sa pre každú tabuľku vytvorí jej vlastný CSV súbor.

Názvy stĺpcov v prvom riadku

Zaškrtnutím tohto checkboxu sa exportujú aj názvy stĺpcov, ktoré sa zapíšu do CSV súboru rovnako ako dáta.

Oddeľovač poľa

Tu si vyberieme znak, ktorým budú jednotlivé dáta v rámci jedného záznamu (riadku) od seba oddelené. Môžeme vybrať vopred dané znaky, alebo zvoliť svoj vlastný pomocou voľby Ostatní. Je tu aj možnosť Karta. Takýto súbor potom nemá stĺpce viditeľne oddelené žiadnym znakom, avšak programy typu Excel ho bez problémov dokážu aj tak správne prečítať.

Úvodzovka

Ako sa ale CSV zachová, pokiaľ budeme mať v dátach rovnaký znak, ako je oddeľovač? Ak existujú dáta, ktoré obsahujú rovnaký znak, akým je oddeľovač, potom celé slovo je zabalené do úvodzoviek. Preto existuje možnosť Uvozovka, kde volíme podobu úvodzovky.

Znaky nového riadku

Operačné systémy používajú rôzne znaky na označenie nového riadka. Tu mám možnosť vybrať, ako budú od seba jednotlivé riadky (záznamy) oddelené.

Tabuľky do JSONu...

SQLite databázy krok za krokom - SQLite databázy krok za krokom

JSON sa často využíva v JavaScripte a API webových aplikácií. Opäť máme možnosť vybrať, ktoré tabuľky sa vyexportujú.

Pretty print

Zaškrtávacie pole Pretty print je označenie pre úhľadné formátovanie textu za účelom zvýšenia jeho čitateľnosti.

S nevybranou voľbou Pretty print:

SQLite databázy krok za krokom - SQLite databázy krok za krokom

S vybranou voľbou Pretty print:

SQLite databázy krok za krokom - SQLite databázy krok za krokom

V ďalšej lekcii, SQLite - Import , si ukážeme import databázy.


 

Predchádzajúci článok
Riešené úlohy k 1.-4. lekciu SQLite
Všetky články v sekcii
SQLite databázy krok za krokom
Preskočiť článok
(neodporúčame)
SQLite - Import
Článok pre vás napísal PDoctor
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity