是否可以从命令行创建一个空的sqlite3数据库(例如sqlite3 <someoption> dbname),这将为我创建一个没有任何表的数据库文件,以便我可以从不同的SQL编辑器访问它?目前,当我执行sqlite3 dbname时,我得到一个可以执行CREATE TABLE ...的SQLite提示符,但如果不这样做,当我退出时,不会创建任何文件。因此,我正在寻找一个命令,它可以为我创建一个空数据库,而不需要在该步骤中创建至少一个表。
sqlite3
sqlite3 <someoption> dbname
sqlite3 dbname
CREATE TABLE ...
kmb7vmvb1#
使用VACUUM command创建有效的空SQLite数据库文件,包括根数据库页和数据库头。
sqlite3 file.db "VACUUM;"
hsvhsicv2#
我不认为只用一句话就能做到这一点。在Linux中,我可以这样解决这个问题:
sqlite3 aFile.db "create table aTable(field1 int); drop table aTable;"
这将自动创建包含表的所需文件,然后将其删除,使数据库文件中没有表。这是我知道的最接近的事了。无论如何,我认为大多数编辑甚至也会接受空文件。试一试吧。
wqlqzqxt3#
您还可以在进入命令提示符时调用.database。或者:
sqlite3 test.db ".databases"
r1zk6ea14#
简单的方法是在bash中使用命令
touch file.db
这将只创建一个大小为0的文件,并且可以用作空的SQLite文件。
tzdcorbm5#
只需创建一个空文件。
> test.db
符号“>”在这里表示重定向。
1szpjjfi6#
创建这样的空白数据库(由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
wlzqhblo7#
来自https://sqlite.org/cli.html在命令提示符下输入“sqlite3”,然后可以选择后跟保存SQLite数据库(或ZIP存档)的文件的名称,以启动sqlite3程序。**如果命名的文件不存在,将自动创建一个具有给定名称的新数据库文件。**如果在命令行上没有指定数据库文件,则会创建一个临时数据库,并在“sqlite3”程序退出时自动删除。我的重点是
7条答案
按热度按时间kmb7vmvb1#
使用VACUUM command创建有效的空SQLite数据库文件,包括根数据库页和数据库头。
hsvhsicv2#
我不认为只用一句话就能做到这一点。
在Linux中,我可以这样解决这个问题:
这将自动创建包含表的所需文件,然后将其删除,使数据库文件中没有表。这是我知道的最接近的事了。
无论如何,我认为大多数编辑甚至也会接受空文件。试一试吧。
wqlqzqxt3#
您还可以在进入命令提示符时调用.database。
或者:
r1zk6ea14#
简单的方法是在bash中使用命令
这将只创建一个大小为0的文件,并且可以用作空的SQLite文件。
tzdcorbm5#
只需创建一个空文件。
符号“>”在这里表示重定向。
1szpjjfi6#
创建这样的空白数据库(由mosty-mostacho提供)的好处是被识别为有效的SQLite数据库;比空文件更好。
通过以下方式进行验证:
wlzqhblo7#
来自https://sqlite.org/cli.html
在命令提示符下输入“sqlite3”,然后可以选择后跟保存SQLite数据库(或ZIP存档)的文件的名称,以启动sqlite3程序。**如果命名的文件不存在,将自动创建一个具有给定名称的新数据库文件。**如果在命令行上没有指定数据库文件,则会创建一个临时数据库,并在“sqlite3”程序退出时自动删除。
我的重点是