exécuter la requête sqlite3 en ligne de commande et quitter

nous pouvons utiliser -cmd option avec sqlite3 pour lancer une requête, mais ensuite sqlite3 ouvre la base de données et attend l'entrée interactive. Comment Pouvons-nous lancer une requête sur sqlite3 à partir de la ligne de commande et de sortie?

Merci,

17
demandé sur farmir 2015-07-02 06:14:43

3 réponses

il suffit d'inclure 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)'
27
répondu gbrener 2015-07-02 03:25:23

Vous pouvez utiliser le ".la sortie de la commande" (1), pour sortir avec élégance

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

Documentation:https://sqlite.org/cli.html

ceci devrait être un commentaire, mais je n'ai pas la réputation nécessaire de commenter.

4
répondu Annoying Technology 2018-04-17 07:23:07

si vous êtes coincé dans une situation où vous devez absolument utiliser le -cmd drapeau lorsque vous utilisez SQLite3 depuis la ligne de commande, vous pouvez utiliser vide commande de sortie.

Par exemple:

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

Dans cet exemple,"" provoquera la fin du processus sqlite3. (Du moins pour moi sur OSX).

1
répondu f1lt3r 2016-08-25 17:30:23