Ich verwende die SQLite-Befehlszeilen-Shell . Wie dokumentiert, kann ich eine Datenbank öffnen, indem ich sie der ausführbaren Datei als Argument zur Verfügung stelle:
sqlite3 data.db
Ich kann nicht herausfinden, wie eine Datenbankdatei innerhalb des Tools geöffnet werden kann , nachdem ich sie aufgerufen habe, ohne die Datei als Befehlszeilenargument anzugeben (wenn ich beispielsweise in Windows auf sqlite3.exe doppelklicke). Wie lautet der Befehl im SQLite-Shell-Tool zum Angeben einer Datenbankdatei?
SELECT * FROM db1.tbl1;
Ich denke, der einfachste Weg, einfach eine einzelne Datenbank zu öffnen und mit der Abfrage zu beginnen, ist:
Hinweis: Dies funktioniert nur für Versionen 3.8.2+
quelle
Der Befehl in der Sqlite-Shell zum Öffnen einer Datenbank lautet .open
Die Syntax lautet:
Wenn es sich um eine neue Datenbank handelt, die Sie erstellen und öffnen möchten, ist dies der Fall
Wenn die Datenbank in einem anderen Ordner vorhanden ist, muss der Pfad wie folgt angegeben werden:
In der Windows-Befehlsshell sollten Sie '\' verwenden, um ein Verzeichnis darzustellen, in SQLite-Verzeichnissen werden sie jedoch durch '/' dargestellt. Wenn Sie immer noch die Windows-Notation bevorzugen, sollten Sie für jedes '\' eine Escape-Sequenz verwenden.
quelle
Auf die gleiche Weise wie in einem anderen Datenbanksystem können Sie den Namen der Datenbank zum Identifizieren von doppelt benannten Tabellen verwenden. eindeutige Tabellennamen können direkt verwendet werden.
oder wenn der Tabellenname in allen angehängten Datenbanken eindeutig ist
Aber ich denke, das von sqlite-shell ist nur für die manuelle Suche oder manuelle Datenmanipulation und daher weniger wichtig
Normalerweise würden Sie die SQLite-Befehlszeile in einem Skript verwenden
quelle
Sie können den Namen der Datenbankdatei einfach in der Befehlszeile angeben:
Darüber hinaus können Sie Ihre Abfrage über die Befehlszeile ausführen:
Sie können eine andere Datenbankdatei aus der SQLite-Shell anhängen:
Auf die Tabellen aus dieser 2. Datenbank kann über das Präfix der Datenbank zugegriffen werden:
Aber wer weiß, wie mehrere Datenbankdateien über die Befehlszeile angegeben werden, um die Abfrage über die Befehlszeile auszuführen?
quelle
quelle
Ältere SQLite- Befehlszeilen-Shells (
sqlite3.exe
) scheinen den.open
Befehl oder eine leicht identifizierbare Alternative nicht anzubieten .Obwohl ich keine endgültige Referenz gefunden habe, scheint es, dass der
.open
Befehl um Version 3.15 eingeführt wurde . Der SQLite-.open
Versionsverlauf erwähnt den Befehl zuerst mit 2016-10-14 (3.15.0).quelle
Ich frage mich, warum niemand bekommen konnte, was die Frage tatsächlich stellte. Es wurde angegeben, wie der Befehl im SQLite-Shell-Tool lautet, um eine Datenbankdatei anzugeben.
Eine SQLite-Datenbank befindet sich auf meiner Festplatte
E:\ABCD\efg\mydb.db
. Wie greife ich mit der Befehlszeilenschnittstelle von sqlite3 darauf zu?.open E:\ABCD\efg\mydb.db
funktioniert nicht. Dies ist die Frage, die gestellt wird.Ich fand den besten Weg, die Arbeit zu erledigen, ist
E:\ABCD\efg\mydbs
)sqlite3
und dann.open mydb.db
Auf diese Weise können Sie die Verknüpfungsoperation auch für verschiedene Tabellen ausführen, die zu verschiedenen Datenbanken gehören.
quelle
E:
zuerst versucht ? Oft mag Windows es nicht, Verzeichnisse auf anderen Laufwerken zu referenzieren, ohne den Buchstaben selbst zu ändern.