如何使用命令创建空的SQLite数据库?

hts6caw3  于 2023-10-23  发布在  SQLite
关注(0)|答案(8)|浏览(226)

是否可以从命令行创建一个空的sqlite3数据库(例如:sqlite3 <someoption> dbname),这将为我创建一个没有任何表的数据库文件,以便我可以从不同的SQL编辑器访问它?
目前,当我执行sqlite3 dbname时,我会得到一个sqlite提示符,从中我可以执行CREATE TABLE ...,但如果我不这样做,当我退出时,不会创建任何文件。因此,我正在寻找一个单一的命令,它将创建一个空的数据库,而不需要在该步骤中创建至少一个表。

u2nhd7ah

u2nhd7ah1#

使用VACUUM command创建一个有效的空SQLite数据库文件,包括根数据库页和数据库头。

sqlite3 file.db "VACUUM;"
v9tzhpje

v9tzhpje2#

我不认为有一种方法可以在一个声明中做到这一点。
在Linux中,我会这样解决它:

sqlite3 aFile.db "create table aTable(field1 int); drop table aTable;"

这将自动创建所需的文件与表中,然后删除它离开数据库文件没有表。这是我所知道的最接近的事情。
无论如何,我认为大多数编辑器甚至会接受一个空文件。给予一个尝试。

laximzn5

laximzn53#

最简单的方法是在bash中使用命令

touch file.db

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

sd2nnvve

sd2nnvve4#

也可以在进入命令提示符时调用.databases。
或者:

sqlite3 test.db ".databases"
khbbv19g

khbbv19g5#

创建一个空文件。

> test.db

这里的符号“>”表示重定向。

tnkciper

tnkciper6#

像这样创建一个空白数据库(由mosty-mostacho提供)的好处是可以被识别为有效的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
jhdbpxl9

jhdbpxl97#

https://sqlite.org/cli.html
通过在命令提示符下键入“sqlite3”启动sqlite3程序,可以选择后跟保存SQLite数据库(或ZIP存档)的文件的名称。**如果指定的文件不存在,系统会自动创建一个新的数据库文件。**如果在命令行中没有指定数据库文件,系统会创建一个临时数据库,并在“sqlite3”程序退出时自动删除。
我的重点

bpsygsoo

bpsygsoo8#

例如,您可以使用''""创建空数据库mydb.sqlite3,如下所示。* 我的答案解释了如何创建SQLite数据库:

sqlite3 mydb.sqlite3 ''

或者:

sqlite3 mydb.sqlite3 ""

请注意,您不能在没有''""的情况下创建空数据库mydb.sqlite3,如下所示:

sqlite3 mydb.sqlite3

相关问题