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ť
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.
Databáza do súboru SQL...
Pri voľbe tejto možnosti sa nám zobrazí tento dialóg:
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
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
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
thenCREATE TABLE
) - existujúca tabuľka sa odstráni a vytvorí sa nová tabuľka, do ktorej sa vložia exportované dáta.
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:
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...
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:
S vybranou voľbou Pretty print:
V ďalšej lekcii, SQLite - Import , si ukážeme import databázy.