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.