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

5 Möglichkeiten zum Ausführen eines SQL-Skripts aus einer Datei in SQLite

SQLite bietet uns die Möglichkeit, Skripte direkt aus einer Datei auszuführen. Dies kann besonders nützlich sein, wenn Sie ein großes Skript haben (z. B. das Erstellen einer Reihe von Datenbanktabellen und das Einfügen von Daten in diese Tabellen).

Im Folgenden finden Sie fünf Möglichkeiten, SQL-Skripte direkt aus einer Datei in SQLite auszuführen.

Der Katzenbefehl

Der folgende Code demonstriert die erste Option zum Ausführen eines SQL-Skripts aus einer Datei in SQLite.

cat create_table.sql | sqlite3 Test.db

Dies setzt voraus, dass mein Skript create_table.sql heißt und ich möchte es gegen die Test.db ausführen Datenbank.

Ich konnte dieses Skript direkt von meinem Terminalfenster aus ausführen, ohne mich mit SQLite3 mit SQLite zu verbinden Befehl.

Der .read-Befehl

Wenn Sie bereits mit SQLite verbunden sind, können Sie die Datei .read verwenden Befehl.

.read insert_data.sql

Dieses Beispiel liest das Skript insert_data.sql aus dem aktuellen Ordner/Verzeichnis. Geben Sie den vollständigen Pfad an, wenn Sie sich in einem anderen Verzeichnis befinden.

Verwenden Sie den .read-Befehl, ohne SQLite zu öffnen

Hier ist eine andere Möglichkeit, .read zu verwenden Befehl.

sqlite3 Test.db ".read insert_data.sql"

Dadurch werden die Daten über die Befehlszeile in die angegebene Datenbank eingefügt.

Der Unterschied zwischen diesem Beispiel und dem vorherigen besteht darin, dass das vorherige innerhalb von SQLite ausgeführt wurde, nachdem Sie bereits eine Verbindung hergestellt hatten. In diesem Beispiel führen Sie es jedoch außerhalb von SQLite aus.

Wenn Sie Windows verwenden, müssen Sie möglicherweise Folgendes tun:

sqlite3.exe Test.db ".read insert_data.sql"

Leiten Sie die Eingabe an die Datenbank um, wenn Sie sich mit SQLite verbinden

Die folgende Methode leitet die Eingabe an die Datenbankdatei um, wenn sqlite3 verwendet wird um sich mit SQLite zu verbinden und die Datenbank zu öffnen.

sqlite3 Test.db < insert_data.sql

Die -init-Option

Hier ist noch eine weitere Möglichkeit, SQL-Skripte aus einer Datei mit SQLite auszuführen.

sqlite3 Test.db -init insert_data.sql