SQLite можно заставить работать без файлов прямо в памяти. В случае PHP и PDO для этого в качестве соединения указывается sqlite::memory:
:
$db = new PDO('sqlite::memory:');
В этом случае база существует в памяти ровно до закрытия соединения.
Если же указать в качестве соединения sqlite:
, будет создан временный файл, который после закрытия соединения также будет удалён.
Оба типа соединения особенно полезны при написании модульных тестов, где как раз требуется частое создание и удаление баз данных.