是否可以从命令行创建一个空的sqlite3
数据库(例如sqlite3 <someoption> dbname
),这将为我创建一个数据库文件,没有任何表,以便我可以从不同的SQL访问它编辑器?
目前,当我执行sqlite3 dbname
时,我会收到一个sqlite提示符,我可以从中执行CREATE TABLE ...
但如果不这样做,当我退出时,不会创建任何文件。所以我正在寻找一个可以为我创建一个空数据库的命令,而不需要在该步骤中创建至少一个表。
答案 0 :(得分:29)
我认为只有一种方法可以做到这一点。
在Linux中,我会以这种方式解决它:
sqlite3 aFile.db "create table aTable(field1 int); drop table aTable;"
这将自动创建包含该表的所需文件,然后将其删除而不使用表格。这是我所知道的最接近的事情。
无论如何,我认为大多数编辑都会接受一个空文件。试一试。
答案 1 :(得分:21)
您也可以在输入命令提示符时调用.databases。
或者:
$ sqlite3 test.db&#34; .databases&#34;
答案 2 :(得分:9)
只需创建空文件。
> test.db
符号“&gt;”这意味着重定向。
答案 3 :(得分:7)
简单的方法是在bash中使用命令
touch file.db
这只会创建一个0大小的文件,可以用作空的sqlite文件。
答案 4 :(得分:5)
使用VACUUM command创建一个有效的空SQLite数据库文件,包括根database page和database header。
sqlite3 file.db "VACUUM;"
答案 5 :(得分:2)
像这样创建一个空白数据库(由http://stylus-lang.com/提供)具有被识别为有效SQLite数据库的优势。比空文件好。
$sqlite3 foo.db "create table t(f int); drop table t;"
通过以下方式验证:
$file foo.db
foo.db: SQLite 3.x database, last written using SQLite version 3024000