NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Lekce 6 - SQLite - Import

V minulé lekci, SQLite - Export, jsme si ukázali export dat z databáze v SQLite. Naučili jsme se exportovat do různých souborů a před exportem soubory různě upravovat.

V dnešním SQLite tutoriálu se naučíme importovat zálohy databáze z SQL souboru a tabulek z CSV souboru. Stáhněte si přiložené zálohy tabulek v ZIP archivu na konci článku a archiv extrahujte.

K importu dat se dostaneme přes File > Import:

Otevření nabídky importu - SQLite databáze krok za krokem

A dále můžeme vybrat jednu ze tří možností: Database from SQL file..., Table from CSV file... a Table from CSV data in Clipboard.... K importu tabulky musíme mít již připravenou databázi (i kdyby prázdnou), ovšem k importu databáze nemusíme mít nic. Proto začneme importem databáze.

Import z SQL souboru

Zvolíme možnost Database from SQL file.... Poté vybereme náš stáhnutý soubor uzivatele.sql a klikneme na Open. Otevře se nám následující okno:

Pojmenování a výběr umístění importované databáze - SQLite databáze krok za krokem

Zde vybereme, kam se uloží samotná databáze, se kterou bude SQLite pracovat. Dojde tedy v podstatě k překladu a překopírování .sql souboru do souboru, se kterým umí pracovat SQLite (v našem případě má soubor příponu .db). Tento soubor potom budeme při úpravě obsahu editovat, mezitím, co soubor .sql zůstane nezměněn.

Jako název souboru zadáme uzivatele.db a takto pojmenovanou databázi uložíme. Tím se vytvoří soubor uzivatele.db a databáze se otevře. Import je tím dokončen. Databázi si nechme otevřenou.

Importovat můžeme i soubory s koncovkou .txt, pokud je jejich obsah stejný jako obsah souboru .sql.

Import tabulky z CSV souboru

Nyní, když máme importovanou databázi, můžeme importovat tabulku ze souboru adresy.csv, který je součástí staženého archivu.

Tentokrát tedy zvolíme druhou možnost Table from CSV file.... Poté vybereme náš soubor adresy.csv a klikneme na Open.

Zobrazí se nám okno s možnostmi importu:

Okno s možnostmi importu z CSV souboru - SQLite databáze krok za krokem

Název tabulky

V poli Table name máme výchozí název tabulky odpovídající názvu souboru, pod kterým se tabulka importuje. Můžeme jej zde měnit, tuto volbu však nyní nevyužijeme.

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

Když si otevřeme importovaný soubor adresy.csv v aplikaci Poznámkový blok, uvidíme, že na prvním řádku obsahuje názvy sloupců id_uzivatele a adresa. Máme tedy exportovanou tabulku včetně názvů sloupců. Necháme tedy volbu Column names in first line zaškrtnutou, čímž importujeme hodnoty z prvního řádku jako názvy sloupců tabulky.

Oddělovač pole

U pole Field separator vybereme znak, kterým budou jednotlivá data v rámci jednoho záznamu (řádku) od sebe oddělena. Pokud si nejsme jisti, jaký oddělovač soubor používá, můžeme jej otevřít například v aplikaci Poznámkový blok. V našem souboru adresy.csv vidíme, že jsou hodnoty odděleny středníkem ;, proto tuto možnost v nastavení zvolíme.

Pokud nenalezneme ve výběru použitý oddělovač z importovaného souboru, můžeme použitý oddělovač vložit pomocí volby Other.

Uvozovka

Pokud v importovaném souboru existují data, která obsahují stejný znak, jakým je oddělovač, pak je celé pole zabaleno do uvozovek. Proto existuje možnost Quote character, kde volíme podobu uvozovky. V našem souboru adresy.csv takový znak nemáme, proto necháme defaultní možnost.

Kódování

Nabídka Encoding nám umožní zvolit, jaké kódování používá náš CSV soubor. Aby se nám správně zobrazovala česká diakritika, ponecháme defaultní možnost UTF-8.

Odstranění prázdných znaků

Při zaškrtnutí možnosti Trim fields? se z polí odstraní přebytečné mezery na začátku a na konci hodnot. Například ze záznamu ________Miroslav____ tak dostaneme pouze Miroslav. (_ v ukázce představuje mezeru). Volbu necháme zaškrtnutou.

Pokročilé nastavení

Po rozkliknutí volby Advanced se nám otevřou další možnosti, které si krátce popíšeme. Tyto možnosti v našem případě nevyužijeme a ponecháme je ve výchozím nastavení, tj. nezaškrtnuté.

Disable data type detection

Zaškrtnutím vypínáme detekci datových typů - data se naimportují bez uvedení datového typu.

Use local number conventions

Pokud je tato možnost zaškrtnutá, budou se číselné hodnoty exportovat podle místních zvyklostí systému – například s desetinnou čárkou místo tečky nebo s mezerou jako oddělovačem tisíců.

Ignore default values

Tato volba se řeší v případě importu do již existující tabulky a importovaný soubor obsahuje prázdná pole. Pokud má tabulka pro tyto pole defaultní hodnotu (takovou, která se vyplní při prázdném poli), bude tato defaultní hodnota doplněna do pole. Pokud však vybereme při importu tuto možnost, defaultní hodnoty se nevloží a pole zůstane prázdné.

Fail on missing values

Při zaškrtnutí této možnosti se prověří, zda pro nějaké pole v importovaném souboru platí tyto podmínky:

  • pole je označené jako NOT NULL tj. musí být vyplněné,
  • pole není vyplněné,
  • pro pole není zadána žádná výchozí hodnota.

V takovémto případě se import ukončí s chybovou hláškou.

Conflict strategy

Zde máme možnost vybrat řešení konfliktní situace mezi dvěma hodnotami v poli, které je označené jako unikátní. Tato situace může nastat třeba pro hodnoty pole označené jako primární klíč. Můžeme vybrat z následujících možností.

Abort import

Import se ukončí.

Ignore row

Řádek, který vyvolává konflikt, bude při importu přeskočen.

Replace existing row

Již existující řádek bude nahrazen novými daty z importovaného souboru.

Ponecháme defaultní první možnost Abort import klikneme na tlačítko OK:

Volby importu - SQLite databáze krok za krokem

Kontrola dat

Otevřeme si tabulku adresy v SQLite:

Kontrola v databázi - SQLite databáze krok za krokem

Vidíme, že import byl úspěšný :-)

V další lekci, SQLite - Řazení, Limit a agregační funkce, se podíváme na řazení a agregační funkce.


 

Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 723x (704 B)
Aplikace je včetně zdrojových kódů v jazyce SQLite

 

Předchozí článek
SQLite - Export
Všechny články v sekci
SQLite databáze krok za krokem
Přeskočit článek
(nedoporučujeme)
SQLite - Řazení, Limit a agregační funkce
Článek pro vás napsal PDoctor
Avatar
Uživatelské hodnocení:
558 hlasů
Aktivity