Эта глава поможет вам понять, что такое 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
Удаляет всю таблицу, представление таблицы или другого объекта в базе данных.
ВСТАВИТЬ
Создает запись
ОБНОВИТЬ
Изменяет записи
УДАЛЯТЬ
Удаляет записи
ВЫБРАТЬ
Извлекает определенные записи из одной или нескольких таблиц