Hledáme pomocníky pro kurzy programování - pohodová brigáda. Více info
Nauč se s námi víc. Využij 50% zdarma na e-learningové kurzy. Zároveň pouze tento týden sleva až 80 % na e-learning týkající se Javy

Lekce 6 - SQLite - Import

V minulé lekci, SQLite - Řazení, Limit a agregační funkce, 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 na konci článku.

K importu dat se dostaneme přes Soubor -> Import:

A dále můžeme vybrat jednu ze dvou možností: Databáze z SQL souboru... a Tabulka ze souboru CSV.... 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.

Databáze z SQL souboru...

Zvolíme možnost Databáze z SQL souboru.... Poté vybereme náš stáhnutý soubor uzivatele.sql a klikneme na Otevřít. Poté se nám otevře následující okno:

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ě soubor .db). Tento soubor potom budeme při úpravě obsahu editovat, mezitím, co soubor .sql zůstane nezměněn. Do Název souboru: vložíme uzivatele.db. Poté klikneme na Uložit. Tím se vytvoří soubor .db a databáze se otevře. Import je tím dokončen. Databázi si nechme otevřenou.

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

Tabulka ze souboru CSV...

Teď, když máme naimportovanou databázi, můžeme naimportovat tabulku z našeho stáhnutého souboru adresy.csv. Tentokrát zvolíme tedy druhou možnost Tabulka ze souboru CSV.... Poté vybereme náš stáhnutý soubor adresy.csv a klikneme na Otevřít. Zobrazí se nám okno s možnostmi importu:

Název tabulky

Zde máme možnost ponechat nabídnutý název, nebo si ho změnit. Jedná se o název tabulky, pod kterým se tabulka importuje. My ponecháme nabídnutý název adresy.

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

Otevřeme si importovaný soubor adresy.csv v aplikaci Poznámkový blok. V prvním řádku vidíme názvy sloupců id_uzivatele a adresa. Máme tedy exportovanou tabulku včetně názvů sloupců. Můžeme tedy volbu Názvy sloupců v prvním řádku zaškrtnout a importovat hodnoty z prvního řádku jako názvy sloupců tabulky.

Oddělovač pole

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Vybereme znak, kterým jsou jednotlivá data v rámci jednoho záznamu (řádku) od sebe oddělena. Zase se podíváme do souboru adresy.csv v aplikaci Poznámkový blok. Vidíme použitý oddělovač ;. Jako Oddělovač pole tedy vybereme ;.

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.

Možnost Karta je pro soubory viditelně neoddělené žádným znakem.

Uvozovka

Pokud v importovaném souboru 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. V našem souboru adresy.csv takový znak nemáme, proto necháme defaultní možnost ".

Kódování

Tato nabídka 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.

Ořezat pole?

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

Pokročilé

Po rozkliknutí této volby se nám otevřou další možnosti:

Disable data type detection

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

Ignorovat výchozí hodnoty

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é. Necháme nezaškrtnuto.

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. Necháme nezaškrtnuto.

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 tyto možnosti:

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.

Nakonec stiskneme OK:

Volby importu

Kontrola dat

Otevřeme si tabulku adresy v SQLite:

Kontrola v databázi

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 6x (704 B)
Aplikace je včetně zdrojových kódů v jazyce SQL

 

Předchozí článek
SQLite - Export
Všechny články v sekci
SQLite databáze krok za krokem
Článek pro vás napsal PDoctor
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Aktivity

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!