Подтвердить что ты не робот

Выполнить запрос командной строки sqlite3 и выйти

Мы можем использовать опцию -cmd с sqlite3 для запуска запроса, но затем sqlite3 открывает базу данных и ждет там для интерактивного ввода. Как запустить запрос из sqlite3 из командной строки и выйти?

Спасибо,

4b9b3361

Ответ 1

Просто укажите команду в кавычках после аргумента файла базы данных.

Например, следующее создает таблицу с именем abc:

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

Ответ 2

Вы можете использовать команду ".exit" (1), чтобы выйти изящно

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

Документация: https://sqlite.org/cli.html

Ответ 3

Если вы застряли в ситуации, когда вы абсолютно "должны" использовать флаг -cmd при запуске SQLite3 из командной строки, вы можете использовать следующую пустую команду для выхода.

Например:

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

В этом примере "" приведет к завершению процесса sqlite3. (По крайней мере, это делается для меня в OSX).