Для SQLite
sqlite://path-to-DB-file?
ClientCharset=UTF-8&
autocommit=1&
multi_statements=0
Путь к файлу с базой данных задается относительно document_root, кроме того, в качестве пути к файлу драйвер понимает специальные значения :memory: и :temporary:. В первом случае на сессию будет создаваться временная база данных в памяти, а во втором случае — на диске.
autocommit — по умолчанию SQLite автоматически выполняет COMMIT после каждого успешно выполненного запроса; если указать опцию autocommit=0, то такое поведение будет изменено и Parser 3 в начале оператора connect будет выдавать комманду BEGIN, а в конце — COMMIT или ROLLBACK; таким образом, все запросы, написанные внутри одного оператора connect, будут выполняться в рамках одной транзакции; [3.3.0]
multi_statements — если установлен в 1, то текст SQL-запроса может содержать несколько инструкций, разделенных символом ; (символ ; необходимо предварять символом ^); [3.3.0]
ClientCharset — по умолчанию драйвер перекодирует все отправляемые текстовые данные в UTF-8 и обратно (числа и BLOB не перекодируются), однако в некоторых случаях, если есть БД, содержащая данные в иной кодировке (что в применении к SQLite некорректно), используя данную опцию, можно задать кодировку, в которую драйвер будет перекодировать данные при общении с SQL-сервером. [3.3.0]
В драйвер SQLite добавлена функция regexp(expr, string), реализованная на базе упрощённой библиотеки регулярных выражений. Параметр expr задаёт шаблон регулярного выражения, а string — строку, которую нужно проверить на соответствие этому шаблону. [3.5.0]
Примеры
Для работы с базой данных my.db, которая располагается в директории data, находящейся рядом с директорией, на которую указывает document_root, строку подключения стоит написать так:
sqlite://../data/my.db
Для работы с временной базой данных, расположенной в памяти и без autocommit, строку подключения стоит написать так:
sqlite://:memory:?autocommit=0