У SQLite есть расширение для работы с файлами с такими функциями:
— readfile(path)
— writefile(path, data)
Они читают или пишут файл одним куском, что плохо подходит для больших файлов.
Чтобы работать с файлами было удобнее, я сделал расширение fileio с парой дополнительных функций:
fileio_scan(path)
Построчно читает файл:
select rowid, value, name
from fileio_scan('hello.txt');
fileio_append(path, str)
Дописывает строку в файл:
create table hello(value text);
-- insert some data
select sum(
fileio_append(
'hello.txt',
value||char(10)
)
) from hello;
Теперь можно работать с файлами построчно, экономя память!