SQLite¶
Добавлено в: v22.5.0
История
| Версия | Изменения |
|---|---|
| v25.7.0 | SQLite теперь является кандидатом на выпуск. |
| v23.4.0, v22.13.0 | SQLite больше не отстает от --experimental-sqlite, но все еще является экспериментальным. |
Стабильность: 1 – Экспериментальная
1.2 — кандидат в релиз. Ожидается, что возможность почти готова стать стабильной. Дополнительные ломающие изменения не предполагаются, но всё ещё возможны в ответ на отзывы пользователей или развитие базовой спецификации.
Модуль node:sqlite упрощает работу с базами SQLite. Подключение:
1 | |
1 | |
Модуль доступен только в схеме node:.
Ниже — базовый пример: открыть базу в памяти, записать данные и прочитать их обратно.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Преобразование типов между JavaScript и SQLite¶
При записи и чтении SQLite нужно преобразовывать типы JavaScript и типы данных SQLite. В JavaScript типов больше, поэтому поддерживается лишь подмножество. Запись неподдерживаемого типа приведёт к исключению.
| Класс хранения | JavaScript → SQLite | SQLite → JavaScript |
|---|---|---|
NULL | {null} | {null} |
INTEGER | ||
REAL | ||
TEXT | ||
BLOB |
API, читающие значения из SQLite, имеют опции, определяющие, преобразуются ли INTEGER в number или bigint в JavaScript — например readBigInts у выражений и useBigIntArguments у пользовательских функций. Если Node.js читает INTEGER вне диапазона безопасного целого JavaScript и чтение BigInt не включено, выбрасывается ERR_OUT_OF_RANGE.
Класс: DatabaseSync¶
Добавлено в: v22.5.0
История
| Версия | Изменения |
|---|---|
| v24.0.0, v22.16.0 | Добавьте опцию «тайм-аут». |
| v23.10.0, v22.15.0 | Аргумент path теперь поддерживает объекты Buffer и URL. |
Этот класс представляет одно соединение с базой SQLite. Все API этого класса выполняются синхронно.
new DatabaseSync(path[, options])¶
Добавлено в: v22.5.0
История
| Версия | Изменения |
|---|---|
| v25.5.0, v24.14.0 | Включите «защиту» по умолчанию. |
| v25.1.0, v24.12.0 | Добавьте опцию «защита». |
| v24.4.0, v22.18.0 | Добавьте новые параметры базы данных SQLite. |
path| | Путь к базе. База SQLite может храниться в файле или полностью в памяти. Для файловой базы укажите путь к файлу. Для in-memory используйте специальное имя ':memory:'.options