Ответ 1
Просто укажите команду в кавычках после аргумента файла базы данных.
Например, следующее создает таблицу с именем abc
:
sqlite3 test.db 'create table abc (col0 int)'
Мы можем использовать опцию -cmd
с sqlite3
для запуска запроса, но затем sqlite3
открывает базу данных и ждет там для интерактивного ввода. Как запустить запрос из sqlite3
из командной строки и выйти?
Спасибо,
Просто укажите команду в кавычках после аргумента файла базы данных.
Например, следующее создает таблицу с именем abc
:
sqlite3 test.db 'create table abc (col0 int)'
Вы можете использовать команду ".exit" (1), чтобы выйти изящно
sqlite3 test.db "select * from abc;" ".exit"
Документация: https://sqlite.org/cli.html
Если вы застряли в ситуации, когда вы абсолютно "должны" использовать флаг -cmd
при запуске SQLite3 из командной строки, вы можете использовать следующую пустую команду для выхода.
Например:
sqlite3 test.db "select * from urls;" "" > test.txt
В этом примере ""
приведет к завершению процесса sqlite3. (По крайней мере, это делается для меня в OSX).