如何覆盖SQLite文件的内容

我刚刚开始使用SQLite,我想将所有应用程序数据写入文件,而不知道文件是否已存在;使用’普通’文件,这很简单,但是对于SQLite,我不能创建一个表,如果它已经存在,并且如果主键已经存在,我就不能插入一行.

我基本上想做一些像“CREATE TABLE IF NOT EXISTS table …. else … DELETE FROM table”这样的事情.必须有办法做到这一点,我怀疑有一些方法比其他方法更有效.例如,您认为使用现有表而不是删除和重新创建会更好,但这取决于检查它是否存在以及删除其内容所涉及的内容.

或者,有没有办法将数据库写入内存(sqlite3_open(“:memory:”,db)),然后获取其内容 – 作为字节数组或其他东西 – 写入文件?

解决方法

对于所有数据库系统,首先DROP表然后重新创建它几乎总是更有效.使用DELETE将需要索引更新等,而简单的DROP也会删除索引,并且不会涉及创建事务日志条目对于SQLite,您可以执行DROP IF EXISTS来删除表条件.

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能