我尝试使用以下命令在提示符下创建数据库文件,但它们都不起作用。
$ 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文件?
答案 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”。
答案 3 :(得分:5)
希望这会有所帮助..
答案 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\;
就是这样!但请记住,“变量值”下的每个路径都用分号分隔,因此请确保在新路径之前有一个路径。