J'utilise le shell de ligne de commande SQLite . Comme documenté, je peux ouvrir une base de données en la fournissant comme argument à l'exécutable:
sqlite3 data.db
Je ne peux pas comprendre comment ouvrir un fichier de base de données à partir de l'outil après l'avoir appelé sans fournir le fichier comme argument de ligne de commande (si je, disons, double-cliquez sur sqlite3.exe dans Windows). Quelle est la commande de l'outil shell SQLite pour spécifier un fichier de base de données?
SELECT * FROM db1.tbl1;
Je pense que le moyen le plus simple d'ouvrir une seule base de données et de commencer à interroger est:
Remarque: cela ne fonctionne que pour les versions 3.8.2+
la source
La commande dans le shell Sqlite pour ouvrir une base de données est .open
La syntaxe est,
S'il s'agit d'une nouvelle base de données que vous souhaitez créer et ouvrir, c'est
Si la base de données existe dans un dossier différent, le chemin doit être mentionné comme ceci:
Dans le shell de commande Windows, vous devez utiliser «\» pour représenter un répertoire, mais dans les répertoires SQLite sont représentés par «/». Si vous préférez toujours utiliser la notation Windows, vous devez utiliser une séquence d'échappement pour chaque '\'
la source
De la même manière que vous le faites dans un autre système de base de données, vous pouvez utiliser le nom de la base de données pour identifier les tables à double nom. des noms de table uniques peuvent être utilisés directement.
ou si le nom de la table dans toutes les bases de données attachées est unique
Mais je pense que le of de sqlite-shell est uniquement destiné à la recherche manuelle ou à la manipulation manuelle des données et, par conséquent, cette manière est plus sans conséquence
normalement vous utiliseriez la ligne de commande sqlite dans un script
la source
Vous pouvez simplement spécifier le nom du fichier de base de données dans la ligne de commande:
De plus, vous pouvez exécuter votre requête depuis la ligne de commande:
Vous pouvez attacher un autre fichier de base de données à partir du shell SQLite:
Les tables de cette 2ème base de données seront accessibles via le préfixe de la base de données:
Mais qui sait comment spécifier plusieurs fichiers de base de données à partir de la ligne de commande pour exécuter la requête à partir de la ligne de commande?
la source
la source
Les shells de ligne de commande SQLite plus anciens (
sqlite3.exe
) ne semblent pas offrir la.open
commande ni aucune alternative facilement identifiable.Bien que je n'ai trouvé aucune référence définitive, il semble que la
.open
commande ait été introduite autour de la version 3.15 . L' historique des.open
versions de SQLite mentionne d'abord la commande avec 2016-10-14 (3.15.0).la source
Je me demande pourquoi personne n'a pu comprendre ce que la question posait réellement. Il a déclaré Quelle est la commande dans l'outil shell SQLite pour spécifier un fichier de base de données?
Une base de données sqlite est sur mon disque dur
E:\ABCD\efg\mydb.db
. Comment y accéder avec l'interface de ligne de commande sqlite3?.open E:\ABCD\efg\mydb.db
ne marche pas. C'est la question posée.J'ai trouvé que la meilleure façon de faire le travail est
E:\ABCD\efg\mydbs
)sqlite3
et puis.open mydb.db
De cette façon, vous pouvez également effectuer l' opération de jointure sur différentes tables appartenant à différentes bases de données.
la source
E:
premier? Souvent, Windows n'aime pas référencer des répertoires sur d'autres lecteurs sans changer la lettre vous-même.