其实很简单。只需在使用C/C++ API打开数据库时,指定':memory:'作为数据库文件名即可。它是引擎能够识别的一个特殊常量。对于其他语言(如Python或Ruby),同样适用,因为它们通常只是包装了C/C++ API。有关完整详细信息,请参见http://sqlite.org/c3ref/open.html。
只需打开文件: memory:,这应该可以解决问题(至少在PHP中是这样)。
您提到希望读取几个平面文件并进行连接。如果可能将平面文件存储为SQLite数据库,则可以直接将一个附加到另一个上:
ATTACH foo.db AS foo
SELECT * FROM foo.users
如果你想让SQLite不使用临时文件作为日志,例如,你不想有除手动请求连接、断开连接、附加或分离之外的任何文件活动。那么在连接到“:memory:”数据库后,在运行时使用以下两个特权。
PRAGMA temp_store=MEMORY;
PRAGMA journal_mode=MEMORY;
来自文档
: