从命令行创建空sqlite db

amp*_*ent 25 sqlite

是否可以sqlite3从命令行创建一个空数据库(例如sqlite3 <someoption> dbname),这将为我创建一个数据库文件,没有任何表,以便我可以从不同的SQL编辑器访问它?

目前,当我这样做时sqlite3 dbname,我会得到一个sqlite提示符,CREATE TABLE ...但是如果我不这样做,当我退出时,不会创建任何文件.所以我正在寻找一个单独的命令,它将为我创建一个空数据库,而不需要在该步骤中创建至少一个表.

Mos*_*cho 29

我不认为只有一种说法可以做到这一点.

在Linux中,我会以这种方式解决它:

sqlite3 aFile.db "create table aTable(field1 int); drop table aTable;"
Run Code Online (Sandbox Code Playgroud)

这将自动创建包含表中所需文件,然后将其删除而不使用表.这是我所知道的最接近的事情.

无论如何,我认为大多数编辑甚至也会接受一个空文件.试一试.

  • 这将创建一个空文件 - 因此,所有编辑器都必须接受一个空文件 (2认同)

小智 24

您也可以在输入命令提示符时调用.databases.

要么:

$ sqlite3 test.db".databases"

  • sqlite3 test.db“”也对我有用 (2认同)

emk*_*y08 10

使用VACUUM命令创建有效的空SQLite数据库文件,包括根数据库页数据库头.

sqlite3 file.db "VACUUM;"
Run Code Online (Sandbox Code Playgroud)

  • 尝试了这个和所选的答案 - 这是一半的大小! (8认同)

Igo*_*kin 9

只需创建空文件.

> test.db
Run Code Online (Sandbox Code Playgroud)

符号">"在这里表示重定向.


Owe*_*hao 8

简单的方法是使用bash,use命令

touch file.db
Run Code Online (Sandbox Code Playgroud)

这将只创建一个0大小的文件,可以用作一个空的sqlite文件.