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 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
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
:

Kontrola dat
Otevřeme si tabulku adresy
v SQLite:

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