SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Exportieren Sie eine gesamte SQLite-Datenbank in eine SQL-Datei

Die SQLite-Befehlszeile bietet mehrere Methoden zum Exportieren oder Sichern einer gesamten Datenbank. Eine davon betrifft die .dump Punkt-Befehl.

Die .dump Mit dem Befehl können Sie eine ganze Datenbank in eine einzelne ASCII-Textdatei konvertieren. Mit anderen Worten, es rendert die gesamte Datenbank als SQL. Die Textdatei enthält alle SQL-Anweisungen, die zum Erstellen der Tabellen, zum Einfügen von Daten usw. erforderlich sind.

Sie können auch .dump verwenden um eine komprimierte Datei zu erstellen. Ich beschreibe diese beiden Methoden unten.

Als SQL exportieren

Sie können .dump verwenden in Verbindung mit .output oder .once um die gesamte Datenbank in eine .sql-Datei zu exportieren.

Diese Datei enthält alle SQL-Anweisungen, die zum Rekonstruieren der Datenbank erforderlich sind (einschließlich Erstellen aller Tabellen, Einfügen aller Daten usw.).

Hier ist ein Beispiel:

.once Store.sql
.dump

In diesem Fall habe ich den .once verwendet Befehl. Dadurch werden die Ergebnisse des nächsten Befehls oder der nächsten SQL-Anweisung einfach in die angegebene Datei geleitet.

In diesem Fall ist der nächste Befehl der .dump dot-Befehl, der standardmäßig den gesamten Datenbankinhalt als SQL darstellt.

Sie könnten alternativ .output verwenden , aber dies wird die Ergebnisse von all lenken zukünftige Befehle/SQL-Anweisungen in die Datei. Dies könnte unbeabsichtigte Folgen haben, wenn Sie nicht aufpassen.

Datenbank wiederherstellen

Sobald Sie die .sql-Sicherungsdatei erstellt haben, können Sie die gesamte Datenbank rekonstruieren, indem Sie diese Datei einfach aus SQLite heraus lesen.

Beispielsweise können Sie eine Verbindung zu SQLite herstellen, während Sie eine neue Datenbankdatei angeben (eine, die noch nicht existiert):

sqlite3 Store2.db

Durch die Angabe einer nicht vorhandenen Datenbankdatei erstellt SQLite eine leere Datenbank.

Jetzt, da Sie sich in SQLite befinden, können Sie den Inhalt der Sicherungsdatei lesen:

.read Store.sql

Das ist alles dazu. Die Datenbank wurde aus der .sql-Datei rekonstruiert. Alle Tabellen wurden erstellt und alle Daten eingefügt.

Komprimierte Datei erstellen

Wenn Ihre Datenbank groß ist und viele Daten enthält, ist es möglicherweise besser, eine komprimierte Sicherungsdatei zu erstellen.

Hier ist ein Beispiel:

sqlite3 Store .dump | gzip -c >Store.dump.gz

Beachten Sie, dass dies außerhalb von SQLite ausgeführt wird. Mit anderen Worten, ich habe keine Verbindung zu SQLite hergestellt, bevor ich diesen Befehl ausgeführt habe. Ich habe einfach ein neues Terminalfenster geöffnet und diesen Befehl ausgeführt.

Eigentlich habe ich zuerst zum Backup-Ordner navigiert. Wenn Sie dies nicht tun, müssen Sie den Pfad in die Sicherungsdatei aufnehmen.

Sie können die Datenbank mit zcat rekonstruieren . Die zcat Mit dem Dienstprogramm können Sie den Inhalt einer komprimierten Datei anzeigen, ohne sie tatsächlich zu dekomprimieren.

Die im vorherigen Beispiel erstellte Datei könnte also mit zcat rekonstruiert werden Dienstprogramm.

zcat Store.dump.gz | sqlite3 Store2

Dies kann je nach System funktionieren oder nicht. Wenn dies nicht funktioniert, müssen Sie möglicherweise ein anderes Komprimierungsprogramm verwenden.