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:

6. diel - SQLite - Import

V predchádzajúcej lekcii, SQLite - Export, sme si ukázali export dát z databázy v SQLite. Naučili sme sa exportovať do rôznych súborov a pred exportom súbory rôzne upravovať.

V dnešnom SQLite tutoriále sa naučíme importovať zálohy databázy z SQL súboru a tabuliek z CSV súboru. Stiahnite si priložené zálohy tabuliek na konci článku.

K importu dát sa dostaneme cez File -> Import:

File → import - SQLite databáza krok za krokom

A ďalej môžeme vybrať jednu z troch možností: Database from SQL file..., Table from CSV file... a Table from CSV data in Clipboard.... Na import tabuľky musíme mať už pripravenú databázu (aj keby prázdnu), avšak na import databázy nemusíme mať nič. Preto začneme importom databázy.

Import z SQL súboru

Zvolíme možnosť Database from SQL file.... Potom vyberieme náš stiahnutý súbor users.sql a klikneme na Open. Potom sa nám otvorí nasledujúce okno:

Save sql import - SQLite databáza krok za krokom

Tu vyberieme, kam sa uloží samotná databáza, s ktorou bude SQLite pracovať. Dôjde teda v podstate k prekladu a prekopírovaniu .sql súboru do súboru, s ktorým vie pracovať SQLite (v našom prípade súbor .db). Tento súbor potom budeme pri úprave obsahu editovať, medzitým, čo súbor .sql zostane nezmenený.

Ako názov súboru zadáme users.db a takto pomenovanú databázu uložíme. Tým sa vytvorí súbor users.db a databáza sa otvorí. Import je tým dokončený. Databázu si nechajme otvorenú.

Môžeme importovať aj súbory s koncovkou .txt, ak je ich obsah rovnaký ako obsah súboru .sql.

Import tabuľky zo súboru CSV

Teraz, keď máme naimportovanú databázu, môžeme naimportovať tabuľku z nášho stiahnutého súboru addresses.csv. Tentokrát zvolíme teda druhú možnosť Table from CSV file.... Potom vyberieme náš stiahnutý súbor addresses.csv a klikneme na Open. Zobrazí sa nám okno s možnosťami importu:

Import csv - SQLite databáza krok za krokom

Názov tabuľky

V poli Table name máme predvolený názov tabuľky zodpovedajúci názvu súboru, pod ktorým sa tabuľka importuje. Môžeme ho tu meniť, túto voľbu však teraz nevyužijeme.

Názvy stĺpcov v prvom riadku

Otvoríme si importovaný súbor addresses.csv v aplikácii Poznámkový blok. V prvom riadku vidíme názvy stĺpcov user_id a address. Máme teda exportovanú tabuľku vrátane názvov stĺpcov. Necháme teda voľbu Column names in first line zaškrtnutú, čím importujeme hodnoty z prvého riadku ako názvy stĺpcov tabuľky.

Oddeľovač poľa

Pri poli Field separator vyberieme znak, ktorým budú jednotlivé dáta v rámci jedného záznamu (riadku) od seba oddelené. Ak si nie sme istí, aký oddeľovač súbor používa, môžeme ho otvoriť napríklad v aplikácii Poznámkový blok. V našom súbore adresses.csv vidíme, že sú hodnoty oddelené bodkočiarkou ;, preto túto možnosť v nastavení zvolíme.

Pokiaľ nenájdeme vo výbere použitý oddeľovač z importovaného súboru, môžeme použitý oddeľovač vložiť pomocou voľby Other.

Úvodzovka

Ak v importovanom súbore existujú dáta, ktoré obsahujú rovnaký znak, akým je oddeľovač, potom celé slovo je zabalené do úvodzoviek. Preto existuje možnosť Quote character, kde volíme podobu úvodzovky. V našom súbore addresses.csv taký znak nemáme, preto necháme defaultnú hodnotu ".

Kódovanie

Táto ponuka nám umožní zvoliť, aké kódovanie používa náš CSV súbor. Aby sa nám správne zobrazovala slovenská diakritika, ponecháme defaultnú hodnotu UTF-8.

Odstránenie prázdnych znakov

Pri začiarknutí možnosti Trim fields? sa z polí odstránia prebytočné medzery na začiatku a na konci hodnôt. Napríklad zo záznamu ________Richard____ tak dostaneme iba Richard. (_ v ukážke predstavuje medzeru). Voľbu necháme zaškrtnutú.

Pokročilé nastavenie

Po rozkliknutí voľby Advanced sa nám otvoria ďalšie možnosti, ktoré si krátko popíšeme. Tieto možnosti v našom prípade nevyužijeme a ponecháme ich v predvolenom nastavení, tj nezaškrtnuté.

Disable data type detection

Zaškrtnutím vypíname detekciu dátových typov - dáta sa naimportujú bez uvedenia dátového typu.

Use local number conventions

Pokiaľ je táto možnosť zaškrtnutá, budú sa číselné hodnoty exportovať podľa miestnych zvyklostí systému – napríklad s desatinnou čiarkou namiesto bodky alebo s medzerou ako oddeľovačom tisícov.

Ignore default values

Táto voľba sa rieši v prípade importu do už existujúcej tabuľky a importovaný súbor obsahuje prázdne polia. Pokiaľ má tabuľka pre tieto polia defaultnú hodnotu (takú, ktorá sa vyplní pri prázdnom poli), bude táto defaultná hodnota doplnená do poľa. Ak však vyberieme pri importe túto možnosť, defaultné hodnoty sa nevložia a pole zostane prázdne.

Fail on missing values

Pri zaškrtnutí možnosti Fail on missing values import vyvolá chybu, pokiaľ niektorý NOT NULL stĺpec dostane pri importe chýbajúcu hodnotu (NULL).

Conflict strategy

Tu máme možnosť vybrať riešenie konfliktnej situácie medzi dvoma hodnotami v poli, ktoré je označené ako unikátne. Táto situácia môže nastať napríklad pre hodnoty poľa označené ako primárny kľúč. Môžeme vybrať z nasledujúcich možností.

Abort import

Import sa ukončí.

Ignore row

Riadok, ktorý vyvoláva konflikt, bude pri importe preskočený.

Replace existing row

Už existujúci riadok bude nahradený novými dátami z importovaného súboru.

Ponecháme defaultnú prvú možnosť Abort import klikneme na tlačidlo OK:

Import choices - SQLite databáza krok za krokom

Kontrola dát

Otvoríme si tabuľku addresses v SQLite:

Database check - SQLite databáza krok za krokom

Vidíme, že import bol úspešný. :-)

V nasledujúcej lekcii, SQLite - Radenie, Limit a agregačné funkcie, sa pozrieme na radenie a agregačné funkcie.


 

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é 138x (666 B)
Aplikácia je vrátane zdrojových kódov v jazyku SQL

 

Predchádzajúci článok
SQLite - Export
Všetky články v sekcii
SQLite databáza krok za krokom
Preskočiť článok
(neodporúčame)
SQLite - Radenie, Limit a agregačné funkcie
Článok pre vás napísal PDoctor
Avatar
Užívateľské hodnotenie:
111 hlasov
Aktivity