web-dev-qa-db-fra.com

lance la requête sqlite3 en ligne de commande et quitte

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,

28
farmir

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)'
42
gbrener

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.

8

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).

1
f1lt3r