it-swarm.com.de

führen Sie die Befehlszeile sqlite3-Abfrage aus und beenden Sie das Programm

Wir können die -cmd-Option mit sqlite3 verwenden, um eine Abfrage auszuführen, aber dann sqlite3 öffnet die Datenbank und wartet dort auf interaktive Eingabe. Wie können wir eine Abfrage für sqlite3 von der Befehlszeile aus ausführen und beenden?

Vielen Dank,

28
farmir

Fügen Sie den Befehl einfach in Anführungszeichen nach dem Argument der Datenbankdatei ein.

Im Folgenden wird beispielsweise eine Tabelle mit dem Namen abc erstellt:

sqlite3 test.db 'create table abc (col0 int)'
42
gbrener

Sie können den Befehl ".exit" ( 1 ) verwenden, um den Vorgang ordnungsgemäß zu beenden 

sqlite3 test.db "select * from abc;" ".exit"

Dokumentation: https://sqlite.org/cli.html

Dies sollte ein Kommentar sein, aber ich habe nicht die 50 Reputation, die ich zum Kommentieren benötige.

8

Wenn Sie in einer Situation steckenbleiben, in der Sie unbedingt das Flag -cmd verwenden müssen, wenn Sie SQLite3 über die Befehlszeile ausführen, können Sie den Befehl mit dem Befehl blank beenden.

Zum Beispiel:

sqlite3 test.db "select * from urls;" "" > test.txt

In diesem Beispiel bewirkt "", dass der Prozess sqlite3 beendet wird. (Zumindest bei OSX).

1
f1lt3r