是否有SQLite命令可以将select查询输出为SQL insert命令?

是否有SQLite命令可以将select查询输出为SQL insert命令?,sqlite,lazarus,in-memory-database,zeos,data-dump,Sqlite,Lazarus,In Memory Database,Zeos,Data Dump,我正在使用Zeoslib使用SQLite创建内存中的数据库,当程序关闭时,我需要将数据库保存到磁盘上,或者定期将其转储到文件中 由于SQLite3程序无法处理内存中的数据库,有没有办法让SQLite将SELECT查询的输出导出为INSERT语句 PS.sqlite3可以将内存中的数据库转储到磁盘,如本线程所示,但内存中的数据库是由另一个应用程序创建的,这就是为什么我看不出如何使示例工作。要将内存数据库保存到磁盘,请使用SQLite创建一个副本。这要求数据库驱动程序实际支持备份API;泽奥斯显然没

我正在使用Zeoslib使用SQLite创建内存中的数据库,当程序关闭时,我需要将数据库保存到磁盘上,或者定期将其转储到文件中

由于SQLite3程序无法处理内存中的数据库,有没有办法让SQLite将
SELECT
查询的输出导出为
INSERT
语句


PS.
sqlite3
可以将内存中的数据库转储到磁盘,如本线程所示,但内存中的数据库是由另一个应用程序创建的,这就是为什么我看不出如何使示例工作。

要将内存数据库保存到磁盘,请使用SQLite创建一个副本。这要求数据库驱动程序实际支持备份API;泽奥斯显然没有


使磁盘上的数据库如此缓慢的不是磁盘访问本身(大多数可以缓存),而是确保数据库保持完整的同步,即使程序或计算机崩溃

有许多设置可以提高速度,但代价是使磁盘上的数据库与内存中的数据库一样不安全:

  • 设置为关闭:

    使用synchronous OFF(0),SQLite在将数据传递给操作系统后立即继续而不同步。如果运行SQLite的应用程序崩溃,数据将是安全的,但如果操作系统崩溃或计算机在数据写入磁盘表面之前断电,数据库可能会损坏。另一方面,在同步关闭的情况下,提交可以快几个数量级

  • 设置为内存:

    内存日志模式将回滚日志存储在易失性RAM中。这节省了磁盘I/O,但牺牲了数据库的安全性和完整性。如果在设置内存日志模式时,SQLite应用程序在事务的中间崩溃,那么数据库文件很可能会损坏。

  • 增加(默认值通常仅为2MB)

  • 禁用


如果您想要一个文件,为什么首先要使用内存中的DB?我需要内存处理的速度,但我想在完成后将其保存回磁盘。