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 Краткая история
2000 - Д. Ричард Хипп разработал SQLite, не требующий администрирования для работы программы.
2000 - В августе выпущен SQLite 1.0 с GNU Database Manager.
2011 - Hipp объявила о добавлении интерфейса UNQl в базу данных SQLite и разработке UNQLite (документно-ориентированной базы данных).
Ограничения SQLite
Есть несколько неподдерживаемых функций SQL92 в SQLite, которые перечислены в следующей таблице.
Sr. No. | Характеристика и описание |
---|---|
1 | RIGHT OUTER JOIN Реализовано только LEFT OUTER JOIN. |
2 | FULL OUTER JOIN Реализовано только LEFT OUTER JOIN. |
3 | ALTER TABLE Поддерживаются варианты RENAME TABLE и ADD COLUMN команды ALTER TABLE. DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT не поддерживаются. |
4 | Trigger support Поддерживаются триггеры FOR EACH ROW, но не FOR EACH STATEMENT. |
5 | VIEWs ВИДЫ в SQLite доступны только для чтения. Вы не можете выполнять инструкции DELETE, INSERT или UPDATE для представления. |
6 | GRANT and REVOKE Единственные права доступа, которые могут быть применены, - это обычные разрешения на доступ к файлам базовой операционной системы. |
Команды SQLite
Стандартные команды SQLite для взаимодействия с реляционными базами данных аналогичны SQL. Это CREATE, SELECT, INSERT, UPDATE, DELETE и DROP. Эти команды можно разделить на группы в зависимости от их рабочего характера:
DDL - язык определения данных
Sr. No. | Команда и описание |
---|---|
1 | CREATE Создает новую таблицу, представление таблицы или другой объект в базе данных. |
2 | ALTER Изменяет существующий объект базы данных, например таблицу. |
3 | DROP Удаляет всю таблицу, представление таблицы или другой объект в базе данных. |
DML - язык манипулирования данными
Sr. No. | Команда и описание |
---|---|
1 | INSERT Создает запись |
2 | UPDATE Изменяет записи |
3 | DELETE Удаляет записи |
DQL - язык запросов данных
Sr. No. | Команда и описание |
---|---|
1 | SELECT Извлекает определенные записи из одной или нескольких таблиц |