退出 SQLite 3数据库

我在 SUSELinux 中有一个 SQLite3数据库。

它像这样停留在命令提示符下:

sqlite> q
...> exit
...> .exit
...> quit
...> .quit

如何退出数据库?

75625 次浏览

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.

Type ; + Enter to terminate the current statement (will give an error message because what you typed so far is not a valid statement but never mind). Then .quit + Enter.

Note that in SQLite 3, SQL statements must be terminated with a delimiter, which is ; by default. The non-SQL commands, which start with a ., do not need to be terminated this way, but they are considered complete as soon as Enter is pressed.

If a command does not start with a . and Enter is pressed without the SQL termination character, the CLI client displays the "continuation prompt" (...> in your case) and expects the SQL command to be continued on the following line(s) until it is properly terminated.

See also Command Line Shell For SQLite.

You can terminate the SQLite 3 program by typing your system's end-of-file character (usually a Ctrl + D). Use the interrupt character (usually a Ctrl + C) to stop a long-running SQL statement.

For the Windows command prompt, pressing Ctrl + Z and then pressing Enter worked for me. It directly brought me out of the sqlite> prompt.

If you want to stay at the sqlite> prompt, but just come out of the inner prompt, ...>, then as JimmyB has said, type ; and press Enter. It just completes your statement, the prompt ...> shows it is expecting more in the statement so far typed, as SQLite statements always end with a semicolon.

To see all SQLite commands in the SQLite prompt, use the .help command. Before stucking at the command prompt, you can use the .exit command.

Tldr;

Use a ; (semicolon) press enter then use .exit. Done!

The invincible trap

You have entered multiline command input. To exit the command multiline input use a semicaolon (;) to complete your command. And then use .exit to exit from sqlite commandline or continue with what you want to do.

sqlite>
sqlite> cd
...>
...> .exit
...> .exit
...> exit()
...> ;  # This semicolon completes the incomplete cd command
Error: near "cd": syntax error
sqlite> .exit

see the Example

Running .help .exit shows

.exit ?CODE?             Exit this program with return-code CODE

With that said, running .exit 0 exits it from sqlite3 console.

Alternatively, simply use .quit or CTRL + D