We can use the -cmd
option with sqlite3
to run a query, but then sqlite3
opens the database and waits in there for interactive input. How can we run a query on sqlite3
from the command line and exit?
Terminate the sqlite3 program by typing your system End-Of-File character (usually a Control-D). Use the interrupt character (usually a Control-C) to stop a long-running SQL statement.
Ctrl + D will get you out of the SQLite 3 database command prompt. That is: hold the "Ctrl" button then press the lowercase d key on your keyboard at the same time and you will escape the SQLite 3 command prompt.
Just include the command in quotes after the database file argument.
For example, the following creates a table called abc
:
sqlite3 test.db 'create table abc (col0 int)'
You can use the .exit
command (1), to exit gracefully:
sqlite3 test.db "select * from abc;" ".exit"
Documentation: Command Line Shell For SQLite.
If you are stuck in a situation where you absolutely "have to" use the -cmd
flag when you are running SQLite 3 from the command line, you can use successive blank command to exit.
For example:
sqlite3 test.db "select * from urls;" "" > test.txt
In this example, the ""
will cause the SQLite 3 process to exit. (At least it does for me on OS X.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With