Příkazový řádek SQLite poskytuje několik metod pro export nebo zálohování celé databáze. Jeden z nich zahrnuje .dump
příkaz tečka.
.dump
umožňuje převést celou databázi na jeden textový soubor ASCII. Jinými slovy, vykresluje celou databázi jako SQL. Textový soubor obsahuje všechny příkazy SQL potřebné k vytvoření tabulek, vložení dat atd.
Můžete také použít .dump
pro vytvoření komprimovaného souboru. Obě tyto metody načrtnu níže.
Exportovat jako SQL
Můžete použít .dump
ve spojení s .output
nebo .once
exportovat celou databázi do souboru .sql.
Tento soubor bude obsahovat všechny příkazy SQL potřebné k rekonstrukci databáze (včetně vytvoření všech tabulek, vložení všech dat atd.).
Zde je příklad:
.once Store.sql
.dump
V tomto případě jsem použil .once
příkaz. To jednoduše nasměruje výsledky dalšího příkazu nebo příkazu SQL do zadaného souboru.
V tomto případě je dalším příkazem .dump
dot, který ve výchozím nastavení vykresluje veškerý obsah databáze jako SQL.
Alternativně můžete použít .output
, ale tím budou směrovány výsledky všech budoucí příkazy/příkazy SQL do souboru. Pokud nebudete opatrní, může to mít nezamýšlené následky.
Obnovení databáze
Jakmile vytvoříte záložní soubor .sql, můžete rekonstruovat celou databázi pouhým načtením tohoto souboru z SQLite.
Můžete se například připojit k SQLite při zadávání nového databázového souboru (takového, který ještě neexistuje):
sqlite3 Store2.db
Zadáním databázového souboru, který neexistuje, SQLite vytvoří prázdnou databázi.
Nyní, když jste v SQLite, můžete si přečíst obsah záložního souboru:
.read Store.sql
To je vše. Databáze byla rekonstruována ze souboru .sql. Všechny tabulky byly vytvořeny a všechna data byla vložena.
Vytvořit komprimovaný soubor
Pokud je vaše databáze velká a obsahuje hodně dat, možná bude lepší vytvořit komprimovaný záložní soubor.
Zde je příklad:
sqlite3 Store .dump | gzip -c >Store.dump.gz
Všimněte si, že to běží mimo SQLite. Jinými slovy, před spuštěním tohoto příkazu jsem se nepřipojil k SQLite. Jednoduše jsem otevřel nové okno terminálu a spustil tento příkaz.
Ve skutečnosti jsem nejprve přešel do záložní složky. Pokud tak neučiníte, budete muset cestu zahrnout do záložního souboru.
Databázi můžete rekonstruovat pomocí zcat . zcat nástroj vám umožňuje zobrazit obsah komprimovaného souboru, aniž byste jej skutečně rozbalili.
Soubor vytvořený v předchozím příkladu lze tedy rekonstruovat pomocí zcat utility.
zcat Store.dump.gz | sqlite3 Store2
To může nebo nemusí fungovat v závislosti na vašem systému. Pokud to nefunguje, možná budete muset použít jiný nástroj pro kompresi.