Учебники

SQLite — Обзор

Эта глава поможет вам понять, что такое SQLite, чем он отличается от SQL, зачем он нужен и как он обрабатывает базу данных приложений.

SQLite — это программная библиотека, которая реализует автономный, безсерверный, транзакционный механизм базы данных SQL с нулевой конфигурацией. SQLite является одним из самых быстрорастущих механизмов баз данных, но он растет с точки зрения популярности, а не его размера. Исходный код для SQLite находится в открытом доступе.

Что такое SQLite?

SQLite — это внутрипроцессная библиотека, которая реализует автономный, безсерверный, транзакционный механизм базы данных SQL с нулевой конфигурацией. Это база данных с нулевой конфигурацией, что означает, что, как и другие базы данных, вам не нужно настраивать ее в вашей системе.

Движок SQLite не является автономным процессом, как другие базы данных, вы можете связать его статически или динамически в соответствии с вашими требованиями к вашему приложению. SQLite получает доступ к своим файлам хранения напрямую.

Почему SQLite?

  • SQLite не требует отдельного серверного процесса или системы для работы (без сервера).

  • SQLite поставляется с нулевой конфигурацией, что означает отсутствие необходимости в настройке или администрировании.

  • Полная база данных SQLite хранится в одном межплатформенном файле на диске.

  • SQLite очень маленький и легкий, менее 400 КБ полностью сконфигурирован или менее 250 КБ без дополнительных функций.

  • SQLite является автономным, что означает отсутствие внешних зависимостей.

  • Транзакции SQLite полностью совместимы с ACID, что обеспечивает безопасный доступ из нескольких процессов или потоков.

  • SQLite поддерживает большинство функций языка запросов, представленных в стандарте SQL92 (SQL2).

  • SQLite написан на ANSI-C и предоставляет простой и удобный API.

  • SQLite доступен в UNIX (Linux, Mac OS-X, Android, iOS) и Windows (Win32, WinCE, WinRT).

SQLite не требует отдельного серверного процесса или системы для работы (без сервера).

SQLite поставляется с нулевой конфигурацией, что означает отсутствие необходимости в настройке или администрировании.

Полная база данных SQLite хранится в одном межплатформенном файле на диске.

SQLite очень маленький и легкий, менее 400 КБ полностью сконфигурирован или менее 250 КБ без дополнительных функций.

SQLite является автономным, что означает отсутствие внешних зависимостей.

Транзакции SQLite полностью совместимы с ACID, что обеспечивает безопасный доступ из нескольких процессов или потоков.

SQLite поддерживает большинство функций языка запросов, представленных в стандарте SQL92 (SQL2).

SQLite написан на ANSI-C и предоставляет простой и удобный API.

SQLite доступен в UNIX (Linux, Mac OS-X, Android, iOS) и Windows (Win32, WinCE, WinRT).

SQLite Краткая история

  • 2000 — Д. Ричард Хипп разработал SQLite для администрирования программы, не требующей администрирования.

  • 2000 — В августе выпущен SQLite 1.0 с GNU Database Manager.

  • 2011 — Hipp объявил о добавлении интерфейса UNQl к базе данных SQLite и разработке UNQLite (базы данных, ориентированной на документы).

2000 — Д. Ричард Хипп разработал SQLite для администрирования программы, не требующей администрирования.

2000 — В августе выпущен SQLite 1.0 с GNU Database Manager.

2011 — Hipp объявил о добавлении интерфейса UNQl к базе данных SQLite и разработке UNQLite (базы данных, ориентированной на документы).

SQLite Ограничения

В SQLite есть несколько неподдерживаемых функций SQL92, которые перечислены в следующей таблице.

Sr.No. Характеристика и описание
1

ПРАВО НАРУЖНОЕ СОЕДИНЕНИЕ

Реализовано только LEFT OUTER JOIN.

2

ПОЛНОЕ НАРУЖНОЕ СОЕДИНЕНИЕ

Реализовано только LEFT OUTER JOIN.

3

ALTER TABLE

Поддерживаются варианты RENAME TABLE и ADD COLUMN команды ALTER TABLE. DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT не поддерживаются.

4

Поддержка триггеров

Триггеры FOR EACH ROW поддерживаются, но не триггеры FOR EACH STATEMENT.

5

Просмотры

Представления в SQLite доступны только для чтения. Вы не можете выполнять операторы DELETE, INSERT или UPDATE в представлении.

6

Грант и отозвать

Единственные права доступа, которые могут быть применены, — это обычные права доступа к файлам базовой операционной системы.

ПРАВО НАРУЖНОЕ СОЕДИНЕНИЕ

Реализовано только LEFT OUTER JOIN.

ПОЛНОЕ НАРУЖНОЕ СОЕДИНЕНИЕ

Реализовано только LEFT OUTER JOIN.

ALTER TABLE

Поддерживаются варианты RENAME TABLE и ADD COLUMN команды ALTER TABLE. DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT не поддерживаются.

Поддержка триггеров

Триггеры FOR EACH ROW поддерживаются, но не триггеры FOR EACH STATEMENT.

Просмотры

Представления в SQLite доступны только для чтения. Вы не можете выполнять операторы DELETE, INSERT или UPDATE в представлении.

Грант и отозвать

Единственные права доступа, которые могут быть применены, — это обычные права доступа к файлам базовой операционной системы.

Команды SQLite

Стандартные команды SQLite для взаимодействия с реляционными базами данных аналогичны SQL. Это CREATE, SELECT, INSERT, UPDATE, DELETE и DROP. Эти команды могут быть классифицированы на группы в зависимости от их операционной природы —

СОЗДАЙТЕ

Создает новую таблицу, представление таблицы или другой объект в базе данных.

ALTER

Изменяет существующий объект базы данных, например таблицу.

DROP

Удаляет всю таблицу, представление таблицы или другого объекта в базе данных.

ВСТАВИТЬ

Создает запись

ОБНОВИТЬ

Изменяет записи

УДАЛЯТЬ

Удаляет записи

ВЫБРАТЬ

Извлекает определенные записи из одной или нескольких таблиц