从SQLite命令行shell中打开数据库文件

我正在使用SQLite命令行Shell 。 正如所logging的,我可以通过将其作为参数提供给可执行文件来打开数据库:

sqlite3 data.db 

这看起来可能是无关紧要的 – 而且非常接近! – 但我不知道如何打开一个数据库文件调用它之后,而不提供文件作为命令行参数(如果我说,双击sqlite3.exe在Windows中)。 SQLite shell工具中的命令是什么来指定一个数据库文件?

你可以附加一个甚至更多的数据库,并像使用sqlite dbname.db一样使用它

 sqlite3 : sqlite> attach "mydb.sqlite" as db1; 

你可以用.databases查看所有连接的数据库

在正常的方式主要用于命令行数据库

 .databases seq name file --- --------------- ---------------------------------------------------------- 0 main 1 temp 2 ttt c:\home\user\gg.ite 

我认为打开单个数据库并开始查询的最简单的方法是:

 sqlite> .open "test.db" sqlite> SELECT * FROM table_name ... ; 

注意:这仅适用于3.8.2+版本

与在其他数据库系统中一样,可以使用db的名称来标识双重命名表。 独特的表名可以直接使用。

 select * from ttt.table_name; 

或者如果所有连接的数据库中的表名是唯一的

 select * from my_unique_table_name; 

但是我认为sqlite-shell只能用于手动查找或手动数据操作,因此这种方式更加不合逻辑

通常你会在脚本中使用sqlite命令行

在Sqlite shell中打开一个数据库的命令是.open

语法是,

 sqlite> .open dbasename.db 

如果它是一个你想创build并打开的新数据库,那就是

 sqlite> .open --new dbasename.db 

如果数据库存在于不同的文件夹中,则path必须如下所示:

 sqlite> .open D:/MainFolder/SubFolder/...database.db 

在Windows Command shell中,应该使用'\'来表示一个目录,但在SQLite目录中用'/'表示。 如果您仍然喜欢使用Windows标记,则应对每个“\”使用转义序列

我想知道为什么没有人能够得到实际要求的问题。 它声明SQLite shell工具内的命令是用来指定一个数据库文件的?

一个sqlite数据库在我的硬盘E:\ABCD\efg\mydb.db 如何使用sqlite3命令行界面访问它? .open E:\ABCD\efg\mydb.db不起作用。 这是问什么问题。

我发现做这个工作的最好方法是

  • 将所有数据库文件复制粘贴到1个目录(比如E:\ABCD\efg\mydbs
  • 切换到你的命令行中的那个目录
  • 现在打开sqlite3然后.open mydb.db

这样,你可以在属于不同数据库的不同表上进行连接操作。

 create different db files using >sqlite3 test1.db sqlite> create table test1 (name text); sqlite> insert into test1 values('sourav'); sqlite>.exit >sqlite3 test2.db sqlite> create table test2 (eid integer); sqlite> insert into test2 values (6); sqlite>.exit >sqlite SQLite version 3.8.5 2014-06-04 14:06:34 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> .open test1.db sqlite> select * from test1; sourav sqlite> .open test2.db sqlite> select * from test1; Error: no such table: test1 sqlite> select * from test2; 6 sqlite> .exit > Thank YOU.