База данных SQLite
Общие сведения
SQLite — компактная реляционная база данных. Движок представляет собой библиотеку, которая интегрируется в ПО, а в качестве протокола обмена данными используются вызовы функций (API). Данный подход позволяет ускорить отклик и упростить программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в одном стандартном файле в каталоге проекта.
Справка
Реляционная СУБД — это программная система для создания и управления базами данных, которая организует информацию в виде набора взаимосвязанных таблиц, состоящих из строк и столбцов, и обеспечивает доступ к данным с помощью языка структурированных запросов (SQL).
Информация
Для использования базы данных SQLite не требуется устанавливать дополнительное программное обеспечение. В Симплайт 5 данная база подключается автоматически при создании нового проекта.
Структура данных
Файлы базы данных находятся в каталоге C:/SimpLight projects/---имя проекта---/data/. Ниже представлена структура файлов с комментариями:
data/
├─ storage.db ← служебный файл базы данных
└─ tags/ ← основное хранилище базы данных
└─ 2026/ ← год
└─ 1/ ← месяц
├─ 1.db ← файл с данными за 1.01.2026
├─ 2.db ← файл с данными за 2.01.2026
├─ 3.db ← файл с данными за 3.01.2026
├─ 3.db-shm ← служебный файл активно используемой базы (Shared Memory)
└─ 3.db-wal ← служебный файл активно используемой базы (Write-Ahead Log)
Служебные утилиты SQLite
Для выполнения внешних операций с файлами базы данных SQLite необходимо загрузить архив sqlite-tools-win-x64.zip с официального сайта.

Далее необходимо распаковать архив. На данном этапе потребуется только утилита sqlite3.exe.

Каталог с этой утилитой необходимо добавить в список зарегистрированных в системной переменной Path операционной системы Windows.
Для этого следует:
- Нажать сочетание клавиш Win+R для вызова окна "Выполнить" в ОС Windows.
- Ввести команду
sysdm.cplдля вызова диалогового окна "Свойства системы". - В диалоговом окне "Система" на вкладке "Дополнительно" нажать кнопку "Переменные среды".
- Добавить в переменную
Pathпуть к каталогу с утилитами sqlite.

Для работы с файлами баз данных SQLite можно также использовать графический клиент. В рамках данного раздела работа с ним не рассматривается.
Работа с файлами базы данных
Пример:
В проекте counter организовано архивирование значений одного тега. С помощью консольной утилиты sqlite3.exe необходимо отразить архивные данные тега за 21.01.2026.
Для начала работы с утилитой необходимо перейти в каталог C:\SimpLight projects\counter\data\tags\2026\1, в котором содержатся архивные данные проекта за январь 2026 года. В проводнике Windows необходимо указать команду cmd, чтобы открыть окно командной строки для данного каталога.

В приглашении будет указан путь к каталогу с данными.

Для отображения данных за 21 января следует выполнить команду sqlite3 21.db. Далее последовательно ввести 2 команды:
.tables — вывести список всех таблиц в текущей базе данных. (в данном случае таблица только одна — moments).
.schema — показать схему базы данных (или отдельной таблицы, если указан необязательный аргумент с именем таблицы).
Важно
При работе с утилитой существует вероятность случайно перейти в многострочный режим ввода команд (...>). Для выхода из этого режима необходимо ввести символ ; и нажать Enter. Для завершения работы с утилитой можно использовать команды .exit или .quit, а также комбинацию клавиш Ctrl+C.

В данной базе данных присутствует только таблица moments. Ниже представлено описание некоторых параметров этой таблицы:
moment_id— уникальный идентификатор записи.channel_id— уникальный идентификатор канала.add_time— временная метку.quality— признак качества.f64— архивируемое значение тега.
Следующие команды отвечают за вывод данных по шаблону в табличном режиме:
.mode box — включает формат табличного вывода.
select * from moments limit 10; — SQL запрос SELECT: отобразит первые 10 строк таблицы moments.

Например, если требуется вывести все значения поля f64 больше 90 по определенному шаблону, то также требуется использовать SQL-запрос SELECT.
select f64, datetime(add_time/1000,'unixepoch','localtime') from moments where f64 > 90;

Экспорт данных в CSV-файл
.header on — включить отображение заголовков столбцов.
.mode csv — установить режим работы с CSV-файлом.
.once с:/base/bd.csv — перенаправить вывод запроса в указанный файл. Файл и каталог должны существовать.
select datetime(add_time/1000,'unixepoch','localtime') as date, round(f64,2) as value from moments; — показать строки базы таблицы moments, отображая в таблице два отформатированных поля add_time и f64, имена которых заменяются соответственно на date и value.
.system "с:/base/bd.csv" — открыть файл в редакторе CSV-файлов по умолчанию.

Экспорт данных в Exсel-файл
.excel— открывает следующий SQL-запрос или команду непосредственно в Microsoft Excel.
select * from moments — SQL-запрос SELECT: показать все строки базы таблиц.

Восстановление
.recover --output recovered.db — восстанавливает максимально возможное количество данных из поврежденного или нечитаемого файла базы данных в новую базу recovered.db.