web-dev-qa-db-ja.com

コマンドラインsqlite3クエリを実行して終了

-cmdsqlite3オプションを使用してクエリを実行できますが、sqlite3はデータベースを開き、そこで対話形式の入力を待ちます。コマンドラインからsqlite3に対してクエリを実行して終了するにはどうすればよいですか?

おかげで、

39
farmir

データベースファイルの引数の後に、コマンドを引用符で囲んでください。

たとえば、次はabcというテーブルを作成します。

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

「.exit」コマンド( 1 )を使用して、正常に終了できます。

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

ドキュメント: https://sqlite.org/cli.html

16

絶対に「しなければならない」状況で立ち往生している場合は、-cmdフラグは、コマンドラインからSQLite3を実行しているときに、連続して空白コマンドを使用して終了できます。

例えば:

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

この例では、""は、sqlite3プロセスを終了させます。 (少なくとも、OSXの場合はそうです)。

1
f1lt3r