Spec-Zone.ru › SQLite

Документация SQLite

  • Списки документов и указатели
    • Алфавитный список всех документов
    • Указатель ключевых слов сайта
    • Указатель по переставленным заголовкам
  • Обзорные документы
    • О SQLite → Общий обзор SQLite и причин, по которым вам может быть интересно его использовать.
    • Подходящие варианты использования SQLite → В этом документе описаны ситуации, в которых SQLite подходит в качестве движка базы данных, и ситуации, когда движок базы данных клиент-сервер может оказаться более подходящим выбором.
    • Отличительные особенности → В этом документе перечислены и описаны некоторые особенности SQLite, отличающие его от других движков баз данных SQL.
    • Особенности SQLite → В этом документе приведён краткий список необычных особенностей SQLite, которые часто вызывают недопонимание и путаницу. В список входят как намеренные нововведения, так и «неудачные особенности», сохранённые исключительно для обратной совместимости.
    • Как тестируется SQLite → Надёжность и устойчивость SQLite во многом обеспечиваются тщательным и всесторонним тестированием. В этом документе перечислены многочисленные тесты, проводимые перед каждым выпуском SQLite.
    • Авторские права → SQLite находится в общественном достоянии. В этом документе объясняется, что это означает и какие последствия имеет для участников проекта.
    • Часто задаваемые вопросы → Название документа говорит само за себя...
    • Книги о SQLite → Список книг о SQLite, написанных независимыми авторами.
  • Программные интерфейсы
    • SQLite за 5 минут или меньше → Краткое введение в программирование с использованием SQLite.
    • Введение в API C/C++ → В этом документе представлено API C/C++. Перед чтением приведённого ниже справочника по API C/C++ рекомендуется ознакомиться с этим документом.
    • Как скомпилировать SQLite → Инструкции и рекомендации по компиляции кода SQLite на C и интеграции этого кода в собственное приложение.
    • Справочник по API C/C++ → В этом документе отдельно описана каждая функция API.
    • Коды результатов и ошибок → Описание значений числовых кодов результатов, возвращаемых различными интерфейсами C/C++.
    • Пользовательская функция SQL → Обзор интерфейсов языка C, используемых для создания новых пользовательских функций SQL в SQLite.
    • API Tcl → Описание привязок интерфейса TCL для SQLite.
    • Привязки SQLite для Android → Информация о том, как развернуть собственную копию SQLite на Android, обходя встроенную SQLite, но используя тот же интерфейс Java.
    • System.Data.SQLite → Привязки C#/.NET для SQLite
  • Документация по языку SQL
    • Синтаксис SQL → В этом документе описан язык SQL, поддерживаемый SQLite.
    • Команды PRAGMA → В этом документе описаны параметры настройки производительности SQLite и другие специальные команды базы данных.
    • Основные функции SQL → Встроенные скалярные функции SQL общего назначения.
    • Агрегатные функции SQL → Встроенные агрегатные функции SQL общего назначения.
    • Функции SQL для работы с датой и временем → Функции SQL для работы с датами и временем.
    • Оконные функции → Оконные функции SQL.
    • Генерируемые столбцы → Хранимые и виртуальные столбцы в определениях таблиц.
    • Типы данных → В SQLite версии 3 введено понятие манифестной типизации: тип значения связан с самим значением, а не со столбцом, в котором оно хранится. На этой странице подробнее описана типизация данных в SQLite версии 3.
    • Индексы по выражениям → Индексы в SQLite могут создаваться не только по обычным столбцам таблиц. Индексировать можно и выражения.
    • Строковые значения → SQLite поддерживает сравнения, в том числе сравнения на неравенство, между кортежами значений, называемыми «строковыми значениями». В этом документе это объясняется.
    • Таблицы STRICT → В таблицах STRICT SQLite строго проверяет типы, чтобы точнее имитировать поведение других движков баз данных SQL.
  • Расширения
    • Функции JSON → Функции SQL для создания, разбора и выполнения запросов к данным JSON.
    • FTS5 — полнотекстовый поиск → Описание расширения SQLite для полнотекстового поиска (FTS5).
    • FTS3 — полнотекстовый поиск → Описание расширения SQLite для полнотекстового поиска (FTS3).
    • Модуль R-Tree → Описание расширения R-Tree для SQLite. R-Tree — это специализированная структура данных, обеспечивающая быстрый поиск по многомерным диапазонам, часто используемый в геоинформационных системах.
    • Сеансы → Расширение Sessions позволяет записывать изменения в базе данных SQLite в компактный файл, который можно применить к исходной базе данных для отмены изменений или перенести и применить к другой аналогичной базе данных.
    • Расширения, загружаемые во время выполнения → Общий обзор принципов работы расширений, загружаемых во время выполнения, их компиляции и создания разработчиками собственных таких расширений для SQLite.
    • Виртуальная таблица Dbstat → Виртуальная таблица DBSTAT сообщает о размерах и структуре таблиц, хранящих данные в базе SQLite, и служит основой для утилиты sqlite3_analyzer.
    • Виртуальная таблица Csv → Виртуальная таблица CSV позволяет SQLite напрямую читать файлы в формате RFC 4180 и выполнять к ним запросы.
    • Carray → CARRAY — это табличная функция, позволяющая использовать массивы языка C в запросах SQL.
    • generate_series → Описание табличной функции generate_series().
    • Spellfix1 → Расширение spellfix1 — это эксперимент по исправлению орфографических ошибок при полнотекстовом поиске.
    • Zipfile → Виртуальная таблица со вспомогательными функциями, позволяющая читать и записывать ZIP-архив так, как если бы это была база данных.
    • Расширение IEEE754 → Набор функций SQL для кодирования и декодирования чисел с плавающей точкой IEEE-754.
    • Расширение Decimal → Набор функций для выполнения десятичной арифметики произвольной точности, включая преобразование значений с плавающей точкой IEEE-754 в их точное десятичное представление.
    • Последовательность сортировки UINT → Последовательность сортировки, упорядочивающая текст со встроенными числами по числовому значению.
    • Расширение Percentile → Реализация агрегатных функций: median(), percentile(), percentile_cont() и percentile_disc().
  • Возможности
    • Имена файлов 8+3 → Как обеспечить работу SQLite в файловых системах, поддерживающих только имена файлов формата 8+3.
    • Автоинкремент → Описание ключевого слова AUTOINCREMENT в SQLite: что оно делает, в каких случаях полезно и почему его не следует использовать без строгой необходимости.
    • API резервного копирования → Интерфейс онлайн-резервного копирования можно использовать для копирования данных с дискового файла в базу данных в памяти или обратно, а также для создания резервной копии работающей базы данных. В этой заметке приведены примеры использования.
    • Журнал ошибок и предупреждений → SQLite поддерживает механизм «журнала ошибок и предупреждений» для сбора сведений о подозрительных событиях и/или ошибках во время работы. Встраиваемым приложениям рекомендуется включать этот журнал, чтобы упростить отладку проблем, возникающих при эксплуатации. В этом документе объясняется, как это сделать.
    • Поддержка внешних ключей → В этом документе описана поддержка ограничений внешних ключей, появившаяся в версии 3.6.19.
    • Индексы по выражениям → Примечания о том, как создавать индексы по выражениям, а не только по отдельным столбцам.
    • Внутреннее и внешнее хранение BLOB-данных → Следует ли хранить большие BLOB-объекты непосредственно в базе данных или размещать их в файлах, сохраняя в базе только имена файлов? В этом документе рассматривается этот вопрос.
    • Ограничения SQLite → В этом документе описаны ограничения SQLite (максимальная длина строки или BLOB-объекта, максимальный размер базы данных, максимальное количество таблиц в базе данных и т. д.), а также способы их изменения во время компиляции и выполнения.
    • Ввод-вывод с отображением в память → SQLite поддерживает ввод-вывод с отображением в память. В этом документе рассказывается, как включить эту возможность, а также о её преимуществах и недостатках.
    • Многопоточные программы и SQLite → SQLite безопасно использовать в многопоточных программах. В этом документе подробно описано, как это работает, и приведены рекомендации по повышению производительности.
    • Обработка NULL → Разные движки баз данных SQL обрабатывают NULL по-разному. Стандарты SQL допускают неоднозначные толкования. В этом документе (примерно за 2003 год) описана обработка NULL в SQLite в сравнении с другими движками баз данных SQL.
    • Частичные индексы → Частичный индекс охватывает только часть строк таблицы. В этом документе рассказывается, как использовать частичные индексы в SQLite.
    • Режим общего кэша → Версия 3.3.0 и более поздние версии позволяют двум или более подключениям к базе данных совместно использовать один и тот же кэш страниц и схемы. Эта возможность полезна для некоторых специализированных приложений.
    • Уведомление о разблокировке → Возможность «уведомления о разблокировке» можно использовать вместе с режимом общего кэша для более эффективного управления конфликтами ресурсов (блокировками таблиц базы данных).
    • Имена файлов URI → Имена файлов баз данных можно задавать как обычные имена файлов или как URI. Использование имён файлов URI предоставляет дополнительные возможности, описанные в этом документе.
    • Таблицы WITHOUT ROWID → Оптимизация WITHOUT ROWID иногда позволяет уменьшить размер базы данных и повысить её производительность.
    • Режим журнала предварительной записи (WAL) → Управление транзакциями с помощью журнала предварительной записи обеспечивает более высокий уровень параллелизма и часто работает быстрее, чем транзакции с откатом, используемые по умолчанию. В этом документе объясняется, как использовать режим WAL для повышения производительности.
  • Инструменты
    • Командная оболочка (sqlite3.exe) → Примечания по использованию интерфейса командной строки «sqlite3.exe», с помощью которого можно создавать, изменять и запрашивать произвольные файлы баз данных SQLite.
    • Удалённое копирование работающей базы данных → Программа sqlite3_rsync создаёт согласованную копию работающей базы данных в удалённой системе или из неё.
    • Хэш базы данных (dbhash.exe) → Эта программа демонстрирует, как вычислить хэш содержимого базы данных SQLite.
    • Fossil → Система управления версиями Fossil — это распределённая система управления версиями, специально разработанная для поддержки разработки SQLite. Для хранения данных Fossil использует SQLite.
    • RBU → Утилита «Resumable Bulk Update» позволяет применять пакет изменений к удалённой базе данных на встроенном устройстве с возможностью возобновления процесса и без прерывания текущей работы.
    • Анализатор баз данных SQLite (sqlite3_analyzer.exe) → Эта автономная программа читает базу данных SQLite и выводит файл со сведениями об использовании места каждой таблицей и индексом, а также с другой статистикой. Создана на основе виртуальной таблицы dbstat.
    • Сравнение баз данных SQLite (sqldiff.exe) → Эта автономная программа сравнивает два файла баз данных SQLite и выводит инструкции SQL, необходимые для преобразования одной базы данных в другую.
    • Архиватор SQLite (sqlar.exe) → Архиватор, аналогичный ZIP, использующий SQLite для хранения данных.
  • Популяризация
    • На 35% быстрее файловой системы → В этой статье отмечается, что чтение BLOB-объектов из базы данных SQLite часто быстрее, чем чтение тех же BLOB-объектов из отдельных файлов файловой системы.
    • Гибкая типизация — это преимущество → SQLite позволяет разработчикам хранить данные в любом нужном формате независимо от объявленного типа данных столбца. В этой статье объясняется, почему это преимущество, а не ошибка.
    • SQLite в качестве формата файлов приложения → В этой статье предлагается использовать SQLite в качестве формата файлов приложения вместо XML, JSON или «набора файлов».
    • Известные пользователи → На этой странице представлен небольшой список устройств и приложений из многих тысяч, использующих SQLite.
    • Почему SQLite написана на C → Почему SQLite написана не на другом модном языке, например C++ или Rust? Разве C не устарел?
    • Почему SQLite не использует Git → Почему SQLite не использует Git для управления версиями, как почти все остальные?
  • Техническая документация и описание проектных решений
    • Как может произойти повреждение базы данных → SQLite обладает высокой устойчивостью к повреждению баз данных. Однако ошибки приложений, операционных систем и оборудования всё же могут привести к повреждению файлов баз данных. В этой статье описаны многие способы повреждения файлов баз данных SQLite.
    • Защита от тёмных искусств → Рекомендации по предотвращению уязвимостей приложений при использовании SQLite.
    • Временные файлы, используемые SQLite → При обработке некоторых инструкций SQL SQLite может использовать множество различных временных файлов. В этом документе описаны типы временных файлов, используемых SQLite, и приведены рекомендации по их предотвращению в системах, где создание временного файла обходится дорого.
    • Базы данных в памяти → Обычно SQLite хранит данные в файле на диске. Однако его также можно использовать в качестве движка базы данных в памяти. В этом документе объясняется, как это сделать.
    • Как SQLite реализует атомарную фиксацию → Описание логики SQLite, обеспечивающей транзакции с атомарной фиксацией даже при отключении питания.
    • Динамическое выделение памяти в SQLite → В SQLite реализована сложная подсистема выделения памяти, которую можно настраивать и адаптировать к требованиям приложения по использованию памяти. Она надёжно работает при нехватке памяти и не допускает утечек. В этом документе подробно описана эта подсистема.
    • Настройка и перенос SQLite → В этом документе объясняется, как настраивать сборку SQLite и переносить SQLite на новые платформы.
    • Блокировки и параллелизм в SQLite версии 3 → Описание того, как новый код блокировок в версии 3 повышает уровень параллелизма и уменьшает проблему голодания писателей.
    • Изоляция в SQLite → Что именно означает, когда мы говорим, что транзакции SQLite «сериализуемы»? Как и когда изменения становятся видимыми в рамках одного подключения к базе данных и для других подключений?
    • Обзор оптимизатора → Краткий обзор различных оптимизаций запросов, выполняемых генератором кода SQLite.
    • Планировщик запросов нового поколения → Дополнительная информация о планировщике запросов SQLite, в частности о его переработке для версии 3.8.0.
    • Архитектура → Обзор архитектуры библиотеки SQLite, полезный для тех, кто хочет изучать и изменять исходный код.
    • Коды операций VDBE → Этот документ автоматически создан и описывает различные коды операций, которые понимает VDBE. Программисты могут использовать его как справочник, чтобы лучше понимать вывод команд EXPLAIN в SQLite.
    • Виртуальная файловая система → Объект «VFS» служит интерфейсом между ядром SQLite и базовой операционной системой. В этой статье рассказывается о принципах работы объекта VFS и создании новых объектов VFS.
    • Виртуальные таблицы → В этой статье описаны механизм виртуальных таблиц и API SQLite, а также способы их использования для добавления новых возможностей в ядро библиотеки SQLite.
    • Формат файла SQLite → Описание формата файлов баз данных и журналов SQLite, а также других сведений, необходимых для создания программ чтения и записи баз данных SQLite без использования SQLite.
    • Параметры компиляции → В этом документе описаны параметры компиляции, позволяющие изменить поведение библиотеки по умолчанию или исключить необязательные функции для уменьшения размера исполняемого файла.
    • Привязки SQLite для Android → Описание компиляции собственной версии SQLite для Android (в обход SQLite, встроенной в Android), а также соответствующий код и make-файлы.
    • Рекомендации по отладке → Список приёмов и методов для трассировки, изучения и понимания работы ядра библиотеки SQLite.
  • Обновление SQLite и обратная совместимость
    • Переход с SQLite 3.5 на 3.6 → Документ с описанием различий между SQLite версий 3.5.9 и 3.6.0.
    • Переход с SQLite 3.4 на 3.5 → Документ с описанием различий между SQLite версий 3.4.2 и 3.5.0.
    • История выпусков → Хронология выпусков SQLite, начиная с версии 1.0.0
    • Обратная совместимость → В этом документе подробно описаны все несовместимые изменения формата файлов SQLite, произошедшие начиная с версии 1.0.0.
    • Приватные ветки → В этом документе предлагаются процедуры ведения приватной ветки или ответвления SQLite и синхронизации этой ветки или ответвления с общедоступным деревом исходного кода SQLite.
  • Устаревшие документы
    • Режим асинхронного ввода-вывода → На этой странице описано расширение асинхронного ввода-вывода, разработанное вместе с SQLite. Асинхронный ввод-вывод может повысить отзывчивость SQLite, передавая запись в базу данных фоновой нити. Примечание: это расширение устарело. Вместо него рекомендуется использовать режим WAL.
    • API C/C++ версии 2 → Описание привязок интерфейса C/C++ для SQLite вплоть до версии 2.8
    • Типы данных версии 2 → Описание обработки типов данных SQL в SQLite версии 2. Кратко: всё является строкой.
    • Руководство по VDBE → VDBE — это подсистема SQLite, выполняющая фактическую работу по выполнению инструкций SQL. На этой странице описаны принципы работы VDBE в SQLite версии 2.7. Этот материал обязателен для всех, кто хочет изменять исходный код SQLite.
    • SQLite версии 3 → Краткое описание изменений между SQLite версии 2.8 и SQLite версии 3.0.
    • API C/C++ версии 3 → Краткое описание изменений API между SQLite версии 2.8 и SQLite версии 3.0.
    • Сравнение скорости → Скорость SQLite версии 2.7.6 сравнивается со скоростью PostgreSQL и MySQL.

SQLite is in the Public Domain.
https://sqlite.org/docs.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API