在提示符下创建sqlite3数据库

时间:2010-05-05 06:19:26

标签: sqlite

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

$ 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
   ...>

应该是磁盘上的test.db文件?

10 个答案:

答案 0 :(得分:26)

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

touch stuff.db

答案 1 :(得分:11)

我认为问题实际上可能是在您执行诸如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

文件显示!

答案 2 :(得分:8)

对于未来的读者,这是来自SQLite.org网站并为我工作:

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了解详情。

答案 3 :(得分:5)

希望这会有所帮助..

  1. 转到命令提示符
  2. 输入cd \(按回车键)
  3. cd sqlite(按回车)
  4. sqlite3 mydb.db(按回车键)
  5. .databases(按回车键)

答案 4 :(得分:3)

这很奇怪,只需输入

即可
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命令提示符。

答案 5 :(得分:3)

我遇到了同样的问题,然后我以“以管理员身份运行”权限登录命令提示符,问题就消失了。 希望这有助于某人。

答案 6 :(得分:2)

您可以使用Linux创建SQLite数据库文件:touch db_name.db
如果要执行诸如create table之类的命令,则必须首先使用:.open db_name.db

打开数据库文件

答案 7 :(得分:2)

你所拥有的是不正确的:

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命令不会创建文件。

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

这显示在这里:sqlite tutoriaspoint

希望这有帮助。

答案 8 :(得分:0)

我也观察到了同样的情况。 当我输入<form method="post" action="upload_file.php"> Image: <input type="file" name="file" id="file"><br><br> <input type="submit"> </form> <?php $targetfolder = "images/"; $targetfolder = $targetfolder . basename( $_FILES['file']['name']) ; if(move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder)) { echo "The file ". basename( $_FILES['file']['name']). " is uploaded"; } else { echo "Problem uploading file"; } ?> 时,我进入sqlite3提示符。 然后使用命令sqlite3 test.db检查数据库。 Yahooo!它显示了test.db,也显示在我可以看到test.db文件的目录中。

我认为只有在新数据库文件中执行任何操作后,db文件才可见。 (不确定)

答案 9 :(得分:-1)

听起来您的环境变量尚未设置为使用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\;

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