Nous pouvons utiliser l'option -cmd
avec sqlite3
pour exécuter une requête, mais sqlite3
ouvre la base de données et attend une entrée interactive. Comment pouvons-nous exécuter une requête sur sqlite3
à partir de la ligne de commande et quitter?
Merci,
Incluez simplement la commande entre guillemets après l'argument du fichier de base de données.
Par exemple, ce qui suit crée une table appelée abc
:
sqlite3 test.db 'create table abc (col0 int)'
Vous pouvez utiliser la commande ".exit" ( 1 ) pour quitter normalement
sqlite3 test.db "select * from abc;" ".exit"
Documentation: https://sqlite.org/cli.html
Cela devrait être un commentaire, mais je n'ai pas la 50 réputation nécessaire pour commenter.
Si vous êtes bloqué dans une situation où vous devez absolument "utiliser" l'indicateur -cmd
lorsque vous exécutez SQLite3 à partir de la ligne de commande, vous pouvez utiliser la commande blank successive pour quitter.
Par exemple:
sqlite3 test.db "select * from urls;" "" > test.txt
Dans cet exemple, le ""
provoquera la fermeture du processus sqlite3. (Au moins, ça le fait pour moi sur OSX).