sql >> Databáze >  >> RDS >> SQLite

Exportujte celou databázi SQLite do souboru SQL

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.


  1. 11 Běžné příkazy SQL se základními příklady

  2. Refaktorujte funkci PL/pgSQL, abyste vrátili výstup různých SELECT dotazů

  3. Dynamicky generujte sloupce pro křížové tabulky v PostgreSQL

  4. Jak mohu vložit více řádků do oracle s hodnotou sekvence?