Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

5. diel - SQLite - Export

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

V tomto SQLite tutoriáli si ukážeme, ako exportovať dáta našej databázy. Vytvorenie zálohy sa nám bude určite mnohokrát hodiť či už pre prípadné obnovenie našich dát alebo ich zdieľanie s ostatnými.

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 users pomocou jazyka SQL:

INSERT INTO `users` (
    `first_name`,
    `last_name`,
    `birth_date`,
    `article_count`
)
VALUES ('John', 'Smith', '1984-11-03', 17),
       ('Thomas', 'Williams', '1942-10-17', 6),
       ('Joseph', 'Miller', '1958-07-10', 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 File -> Export. Ďalej si môžeme vybrať z troch možností popísaných nižšie:

SQLite export - SQLite databáza krok za krokom

Export do súboru SQL

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

Database to file export - SQLite databáza 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, ak 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žnosť príkazu INSERT

Ďalej máme možnosť zaškrtnúť Keep column names in 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 "users" ("user_id","first_name","last_name", "birth_date", "article_count") VALUES (1, 'John', 'Smith', '1984-11-03', 17);

Pri NEzaškrtnutí možnosti:

INSERT INTO "users" VALUES (1, 'John', 'Smith', '1984-11-03', 17);

Vloženie viacerých záznamov v príkaze INSERT

Voľba Multiple rows (VALUES) per INSERT statement 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 a 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:

Schema and data - SQLite databáza krok za krokom

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

  • schému aj dáta (ako na obrázku vyššie)
  • schému, 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.
  • Overwrite old schema (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.

Export do CSV súboru

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:

Export to csv - SQLite databáza krok za krokom

Najprv si vyberieme tabuľky, ktoré chceme exportovať. Súbor CSV je ale jednoduchý, ako teda spozná, 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 checkboxu Column names in first line sa exportujú aj názvy stĺpcov, ktoré sa zapíšu do CSV súboru rovnako ako dáta.

Oddeľovač poľa

V poli Field separator 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 Other. Je tu aj možnosť Tab. 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

Pokiaľ sa v dátach objaví rovnaký znak, aký je použitý ako oddeľovač (napríklad čiarka vo vnútri textu, keď je čiarka súčasne nastavená ako separátor), je potrebné tento konflikt vyriešiť. CSV to rieši tak, že celé pole s takýmto obsahom uzavrie do úvodzoviek. V nastavení preto nájdeme voľbu Quote character, kde si môžeme zvoliť, aký znak sa má na tento účel použiť. V predvolenom nastavení je to dvojitá úvodzovka ("), môžeme však zvoliť aj apostrof (') alebo iný znak.

Odriadkovanie

Operačné systémy používajú rôzne znaky na označenie nového riadka. V poslednom poli, New line characters exportného dialógu preto volíme spôsob, akým budú jednotlivé riadky (záznamy) v CSV súbore oddelené.

Export do formátu JSON

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

Export to json - SQLite databáza krok za krokom

Pri tomto type exportu máme potom iba zaškrtávacie pole Pretty print, čo je označenie pre úhľadné formátovanie textu za účelom zvýšenia jeho čitateľnosti.

S nevybranou voľbou Pretty print vyzerá výsledok takto:

[{"article_count": 17,"birth_date": "1984-11-03","first_name": "John","last_name": "Smith","user_id": 1},{"article_count": 6,"birth_date": "1942-10-17","first_name": "Thomas","last_name": "Williams","user_id": 2},{"article_count": 9,"birth_date": "1958-07-10","first_name": "Joseph","last_name": "Miller","user_id": 3}]

S vybranou voľbou Pretty print získame čitateľnejší výstup:

[
    {
        "article_count": 17,
        "birth_date": "1984-11-03",
        "first_name": "John",
        "last_name": "Smith",
        "user_id": 1
    },
    {
        "article_count": 6,
        "birth_date": "1942-10-17",
        "first_name": "Thomas",
        "last_name": "Williams",
        "user_id": 2
    },
    {
        "article_count": 9,
        "birth_date": "1958-07-10",
        "first_name": "Joseph",
        "last_name": "Miller",
        "user_id": 3
    }
]

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


 

Predchádzajúci článok
Riešené úlohy k 1.-4. lekcii SQLite
Všetky články v sekcii
SQLite databáza krok za krokom
Preskočiť článok
(neodporúčame)
SQLite - Import
Článok pre vás napísal PDoctor
Avatar
Užívateľské hodnotenie:
110 hlasov
Aktivity