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

V předešlém cvičení, Řešené úlohy k 1.-4. lekci SQLite, jsme si procvičili nabyté zkušenosti z předchozích lekcí.

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

Export

Export (nebo také "záloha") je soubor s daty, který nám slouží jako záloha databáze, nebo ho potřebujeme pro migraci, či 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
    • export může obsahovat všechny nebo pouze vybrané tabulky
  • export dat - soubor bude obsahovat pouze data tabulek
    • tabulky můžeme specifikovat

Před vlastním exportem budeme potřebovat data, která chceme exportovat. Pokud nám v tabulce z minula žádná nezbyla, můžeme si vložit data do naší tabulky uzivatele pomocí 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);

Nebo si můžeme vložit vlastní data. Pro potřeby naší dnešní lekce na obsahu dat nezáleží.

Jak exportovat?

Exportovat databázi nebo tabulku je velmi jednoduché. Stačí kliknout na Soubor -> Export. Dále si můžeme vybrat ze tří možností popsaných níže.

SQLite databáze krok za krokem

Databáze do souboru SQL...

Při volbě této možnosti se nám zobrazí tento dialog:

SQLite databáze krok za krokem

Jak název operace napovídá, tato akce se nám bude hodit, pokud budeme chtít exportovat databázi do souboru .sql.

Výběr tabulek

Nejprve musíme vybrat tabulky, které chceme exportovat. Je možné (stejně jako na obrázku), že bude v nabídce i tabulka sqlite_sequence. Tu si vytváří SQLite samo, pokud existuje tabulka se sloupcem označeným jako AUTOINCREMENT. V tabulce sqlite_sequence je uloženo poslední použité id. Můžeme, ale nemusíme ji vybrat, neboť výsledný soubor to nijak neovlivní.

Možnosti INSERT

Dále máme možnost Zachovat názvy sloupců v INSERT INTO. Soubor sql je skupina příkazů pro RDBMS, které se spouští, a tím se vytváří tabulky a plní se daty. Rozdíl v příkazu bude následující:

Při zaškrtnutí možnosti:

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

Při NEzaškrtnutí možnosti:

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

Více řádků pro INSERT

Volba Více řádků (VALUES) pro příkaz INSERT buď použije jeden INSERT, který bude vkládat všechny záznamy, nebo (při nezaškrtnutí) se každý jeden záznam bude vkládat vlastním příkazem INSERT. Stejně jako v předchozím případě je ale výsledek následného importu našeho budoucího souboru stejný. Jedná se pouze o změnu syntaxe.

Obsah exportu

Další nabídka je rozbalovací s možnostmi, co chceme exportovat:

  • Exportovat vše
  • Exportovat pouze schéma
  • Exportovat pouze data

Soubor exportu se může dělit na schéma a data:

SQLite databáze krok za krokem

Výběrem jedné z možností volíme obsah následného souboru. Soubor může obsahovat:

  • schéma i data (jako na obrázku výše)
  • schéma, které vytvoří prázdnou tabulku
  • data, která se vloží do již vytvořené tabulky

Existující tabulka

Poslední rozbalovací položkou volíme mezi možnostmi:

  • Keep old schema (CREATE TABLE IF NOT EXISTS) - data se buď připíší do existující tabulky, nebo se vytvoří nová tabulka, do které se vloží exportovaná data
  • Přepsat staré schéma (DROP TABLE then CREATE TABLE) - existující tabulka se odstraní a vytvoří se nová tabulka, do které se vloží exportovaná data.

Tabulky jako soubor CSV...

Soubor CSV - Comma Seperated Values je soubor, ve kterém jsou data oddělena separátorem (např. čárkou). Je nejen lidsky čitelný, ale umožnuje uložená data importovat například do Excelu.

Při volbě této možnosti se nám zobrazí tento dialog:

SQLite databáze krok za krokem

Nejprve si vybereme tabulky, které chceme exportovat. Soubor CSV je ale jednoduchý, jak tedy pozná, jaká data patří jaké tabulce? Odpověď je: nepozná. Proto se pro každou tabulku vytvoří její vlastní CSV soubor.

Názvy sloupců v prvním řádku

Zaškrtnutím tohoto checkboxu se exportují i názvy sloupců, která se zapíšou do CSV souboru stejně jako data.

Oddělovač pole

Zde si vybereme znak, kterým budou jednotlivá data v rámci jednoho záznamu (řádku) od sebe oddělena. Můžeme vybrat předem dané znaky, nebo zvolit svůj vlastní pomocí volby Ostatní. Je zde i možnost Karta. Takový soubor potom nemá sloupce viditelně oddělené žádným znakem, nicméně programy typu Excel ho bez problému dokáží i tak správně přečíst.

Uvozovka

Jak se ale CSV zachová, pokud budeme mít v datech stejný znak, jako je oddělovač? Pokud existují data, která obsahují stejný znak, jakým je oddělovač, pak celé slovo je zabaleno do uvozovek. Proto existuje možnost Uvozovka, kde volíme podobu uvozovky.

Znaky nového řádku

Operační systémy používají různé znaky pro označení nového řádku. Zde mámne možnost vybrat, jak budou od sebe jednotlivé řádky (záznamy) odděleny.

Tabulky do JSONu...

SQLite databáze krok za krokem

JSON se často využívá v JavaScriptu a API webových aplikací. Opět máme možnost vybrat, které tabulky se vyexportují.

Pretty print

Zaškrtávací pole Pretty print je označení pro úhledné formátování textu za účelem zvýšení jeho čitelnosti.

S nevybranou volbou Pretty print:

SQLite databáze krok za krokem

S vybranou volbou Pretty print:

SQLite databáze krok za krokem

V další lekci, SQLite - Import, si ukážeme import databáze.


 

Předchozí článek
Řešené úlohy k 1.-4. lekci SQLite
Všechny články v sekci
SQLite databáze krok za krokem
Přeskočit článek
(nedoporučujeme)
SQLite - Import
Článek pro vás napsal PDoctor
Avatar
Uživatelské hodnocení:
262 hlasů
Aktivity