在提示符下创建sqlite3数据库

问题描述:

我尝试使用以下命令在提示符下创建数据库文件,但它们都不起作用。在提示符下创建sqlite3数据库

$ sqlite3 test.db 
sqlite3 test.db 
test.db 

它需要在后面加上一个分号抑或是很难创建一个使用提示SQLITE3数据库文件?

编辑:

当我开始了sqlite3的提示,我得到

SQLite version 3.6.22 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> 

当型 “的sqlite3 test.db的” 我知道,

SQLite version 3.6.22 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> sqlite3 test.db 
    ...> 

这里应该是考验。数据库文件在磁盘上?

+0

当你键入'sqlite3 test.db'时,它应该在磁盘上创建数据库,并为你提供一个REPL环境来直接在数据库上执行查询 - 它是否执行任何操作? – 2010-05-05 06:23:49

真奇怪,只需键入

sqlite3 test.db 

应该建立它为我的SQLite数据库,它显示出任何错误?

当使用该命令我得到以下输出

$ sqlite3 test.db 
SQLite version 3.6.12 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> 

这是SQLite的命令行界面

在回答您的编辑,你需要从你的命令行不会打字的sqlite3 test.db的从sqlite提示符中。

当您在命令提示符下键入它时,它将在您工作的目录中创建数据库并打开sqlite命令提示符。

这听起来像你的环境变量尚未安装使用SQLite3。现在我不确定你的操作系统,但是这里是如何设置它在WinXP下:

- Start -> Right-click 'My Computer' 
- Select 'Properties' 
- Select the 'Advanced' tab 
- Click 'Environment Variables' 
- (Under 'System Variables') Select 'Path' 
- Click 'Edit' 
- (Under 'Variable Value') Go to the end of the line and enter the path to your sqlite3.exe (minus sqlite3.exe) For example: C:\bin\sqlite3\; 

就是这样!但请记住,“变量值”下的每个路径都用分号分隔,因此请确保在您的新路径之前有一个路径。

我认为这个问题实际上可能是该文件似乎并没有在磁盘上创建,直到执行诸如CREATE TABLE之类的操作之后。

我的行动:

C:\path\to\sqlite3.exe test.db 
SQLite version 3.7.13 2012-06-11 02:05:22 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> .quit 

没有文件被创建。

然后:

C:\path\to\sqlite3.exe test.db 

SQLite version 3.7.13 2012-06-11 02:05:22 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> create table t1(t1key integer); 
sqlite> .quit 

文件显示出来!

+0

工作........ :) – nobalG 2014-08-07 10:10:47

如果你想有一个空白的.db文件只需使用:

touch stuff.db 

对于未来的读者来说,这是SQLite的。组织的网站,并为我工作:

SQLite version 3.8.5 2014-05-29 12:36:14 
Enter ".help" for usage hints. 
Connected to a transient in-memory database. 
Use ".open FILENAME" to reopen on a persistent database. 
sqlite> .open ex1.db 
sqlite> 

上面的例子导致名为“ex1.db”被打开和使用,创造,如果它不存在以前的数据库文件。您可能想要使用完整路径名来确保该文件位于您认为其所在的目录中。使用forward-slashes作为目录分隔符。换句话说,使用“c:/work/ex1.db”,而不是“c:\ work \ ex1.db”。

访问http://www.sqlite.org/cli.html了解更多详情。

您可以使用Linux的SQLite数据库文件:touch db_name.db
如果要执行的命令,例如创建表,你必须打开DATABSE文件
首先使用:.open db_name.db

我也观察到同样的。 当我输入sqlite3 test.db时,我输入sqlite3提示符。 然后使用命令.databases检查数据库。 Yahooo!它显示test.db,并在目录中显示test.db文件。

我认为db文件只有在我们对新的数据库文件进行任何操作后才可见。 (不知道)

希望这将有助于..

  1. 进入命令提示符
  2. 键入cd \(按Enter键)
  3. CD源码(按回车键)
  4. sqlite3的mydb.db (按回车键)
  5. .databases(按回车键)

我面临同样的问题,然后我是劳以“以管理员身份运行”权限登录到命令提示符,问题就消失了。 希望这可以帮助别人。

你有什么不正确:

SQLite version 3.6.22 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> sqlite3 test.db 
...> 

特别行:sqlite的>的sqlite3 test.db的。它也不符合你的说法:当输入“sqlite3 test.db”时,我得到

的命令应该如下:

sqlite3 test.db 

这将然后给你以下的输出:

SQLite version 3.20.0 2017-08-01 13:24:15 
Enter ".help" for usage hints. 
sqlite> 

在此之后,您可以必须键入.databases它会显示你的完整路径到 您的文件,然后键入.quit退出此提示。如果您至少没有在 处执行.database命令,则不会创建该文件。

该文件将在您输入 命令的目录中创建。

这显然是showns这里:sqlite tutoriaspoint

希望这有助于。