Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在提示下创建sqlite3数据库_Sqlite - Fatal编程技术网

在提示下创建sqlite3数据库

在提示下创建sqlite3数据库,sqlite,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
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”时


test.db文件应该在磁盘上的什么位置?

很奇怪,只需键入

sqlite3 test.db
应该为我创建sqlite数据库,它是否显示任何错误

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

$ sqlite3 test.db
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> 
哪个是sqlite命令行界面

为了响应您的编辑,您需要从命令行而不是从sqlite提示符内部键入sqlite3 test.db


当您在命令提示符中键入它时,它将在您工作的目录中创建数据库,并打开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\;

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

我认为问题可能在于,在执行诸如创建表之类的操作之前,文件似乎不会在磁盘上创建

我的行动:

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
没有创建任何文件

然后:


文件出现了

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

touch stuff.db

对于未来的读者,这是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”的数据库文件被打开和使用,如果以前不存在,则创建该文件。您可能希望使用完整路径名来确保文件位于您认为它所在的目录中。使用正斜杠作为目录分隔符。换句话说,使用“c:/work/ex1.db”,而不是“c:\work\ex1.db”


有关更多详细信息,请访问。

您可以使用Linux创建SQLite数据库文件:
touch db_name.db

如果要执行诸如创建表之类的命令,则必须首先使用以下命令打开数据库文件:
。
键入
sqlite3 test.db
时,输入sqlite3提示符。 然后使用命令
.databases
检查数据库。哈哈!!它显示test.db,并且在目录中我可以看到test.db文件

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

希望这会有所帮助

  • 转到命令提示符
  • 键入cd\(按enter键)
  • cd sqlite(按enter键)
  • sqlite3 mydb.db(按enter键)
  • .数据库(按enter键)

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

    您所拥有的不正确:

    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命令无法创建该文件

    文件将在您输入的目录中创建 指挥部

    这里清楚地表明了这一点:


    希望这有帮助。

    当您键入
    sqlite3 test.db
    时,它应该在磁盘上创建数据库,并为您提供一个REPL环境,以便直接在数据库上执行查询-它是否可以执行任何操作?快速解决方案,以管理员身份登录或运行控制台,感谢@kns
    sqlite3 test.db
    
    SQLite version 3.20.0 2017-08-01 13:24:15
    Enter ".help" for usage hints.
    sqlite>