Учебник по SQLite
Вступление
SQLite - это легкая внутрипроцессная библиотека, в которой реализован автономный серверный транзакционный механизм базы данных SQL с нулевой конфигурацией. Код для SQLite доступен в открытом доступе и, следовательно, он бесплатен для использования в любых целях, коммерческих или частных.
дизайн
- SQLite - это встроенный движок базы данных SQL
- SQLite не имеет отдельного серверного процесса, как большинство других баз данных SQL.
- SQLite читает и пишет напрямую в обычные файлы на диске.
- В одном файле на диске вся база данных SQL (несколько таблиц, индексов, триггеров и представлений) хранится в виде одного кроссплатформенного файла на хост-компьютере.
история
- Д. Ричард Хипп разработал SQLite весной 2000 года.
- В августе 2000 года была выпущена версия 1.0 SQLite, основанная на gdbm (GNU Database Manager).
- SQLite 2.0 заменил gdbm собственной реализацией B-дерева, добавив поддержку транзакций.
- Бета-версия SQLite 3.0.2 была выпущена 2004-06-30.
- В 2011 году Хипп объявил о своих планах добавить интерфейс UnQL к базам данных SQLite и разработать UnQLite, встраиваемую документно-ориентированную базу данных.
- Говард Чу портировал SQLite 3.7.7.1 для использования Openldap MDB вместо исходного кода Btree и назвал его sqlightning.
- Чтобы проверить последнюю стабильную версию и подробности истории выпуска, нажмите здесь .
Характеристики
- Автономный: без внешних зависимостей.
- Написано в ANSI-C.
- Нулевая конфигурация - настройка и администрирование не требуются.
- Полная база данных хранится в одном межплатформенном диске.
- Формат файла базы данных является кроссплатформенным (Linux, Mac OS-X, Android, iOS и Windows) - вы можете свободно копировать базу данных между 32-разрядными и 64-разрядными системами или между архитектурами с прямым порядком байтов и байтов с прямым порядком байтов.
- Отлично подходит для использования в качестве формата файла приложения.
- Доступен в виде одного файла исходного кода ANSI-C, который можно легко перенести в другой проект.
- Простой, удобный API.
- Реализует большую часть SQL92 за исключением некоторых функций.
- Транзакции совместимы с ACID (атомарными, согласованными, изолированными и надежными) даже после сбоев системы и сбоев питания.
- Поставляется с отдельным клиентом интерфейса командной строки (CLI), который можно использовать для администрирования баз данных SQLite.
Где SQLite работает хорошо
- База данных сайта. Поскольку SQLite не требует настройки и хранит информацию в обычных дисковых файлах, он является популярным выбором в качестве базы данных для поддержки небольших и средних веб-сайтов.
- Формат файла приложения. Вместо того чтобы использовать fopen () для записи XML, JSON, CSV или другого закрытого формата в файлы на диске, используемые вашим приложением, используйте базу данных SQLite. Вы избежите необходимости писать и устранять неполадки парсера, ваши данные будут более легкодоступными и кроссплатформенными, а ваши обновления будут транзакционными.
- База данных для гаджетов. SQLite - популярный выбор для базы данных в мобильных телефонах, КПК, MP3-плеерах, телевизионных приставках и других электронных гаджетах. SQLite имеет небольшой объем кода, эффективно использует память, дисковое пространство и пропускную способность диска, отличается высокой надежностью и не требует обслуживания со стороны администратора базы данных.
- Stand-In для предприятия RDBMS. SQLite часто используется в качестве суррогата СУРБД предприятия для демонстрационных целей или для тестирования. SQLite работает быстро и не требует настройки, что значительно облегчает тестирование и делает демонстрации веселыми и удобными для запуска.
Языки программирования
SQLite имеет привязки для большого количества языков программирования, вот список:
Бейсик | Delphi | С | C # | C ++ | Машинка для стрижки // гавань | Обыкновенный Лисп | Curl |
D | Свободный Паскаль | Идти | Haskell | Java (на JVM и DVM) | JavaScript | Юля | LiveCode |
Lua | newLisp | Objective-C (на OS X и iOS) | OCaml | Perl | PHP | щука | PureBasic |
Pytdon | р | REALbasic | REBOL | Рубин | Схема | Болтовня | Tcl |
Visual Basic | Xojo |
Фреймворки веб-приложений
- Bugzilla, база данных ошибок Mozilla.
- Django, веб-фреймворк Python.
- Начиная с версии 7, Drupal, основанная на PHP система управления контентом для создания веб-сайтов и блогов, имеет возможность установки с использованием SQLite.
- Рубин на рельсах.
- web2py, веб-фреймворк Python.
Кто использует SQLite
- Google: Google использует SQLite на своем рабочем столе для Mac, в Google Gears, в операционной системе мобильного телефона Android и в браузере Chrome.
- Dropbox: Dropbox использует SQLite в качестве основного хранилища данных на стороне клиента для службы архивирования и синхронизации.
- Mozilla: Mozilla использует SQLite в качестве основного формата хранения метаданных для Firefox, веб-браузера и Thunderbird Email Reader.
- McAfee: McAfee использует SQLite в своих антивирусных программах.
- Flame: Flame - это вредоносная шпионская программа, использующая SQLite.
- Microsoft: Из трафика в списке рассылки SQLite можно сделать вывод, что по крайней мере одна группа в Microsoft использует SQLite для разработки игровой программы.
- Skype: Skype использует SQLite в клиенте Skype для Mac OS X и Windows.
- Adobe: Adobe использует SQLite в качестве формата файла приложения для своего продукта Photoshop Lightroom.
- Airbus: Airbus использует SQLite в своем программном обеспечении для полетов.
- Apple: Apple использует SQLite для многих функций в Mac OS X, включая Apple Mail, Safari и в Aperture. Apple использует SQLite в iPhone, iPod touch и iTunes.
- Intuit: Intuit, очевидно, использует SQLite в QuickBooks и в TurboTax
- PHP: язык программирования PHP поставляется со встроенными SQLite2 и SQLite3.
- Python: SQLite поставляется с языком программирования Python начиная с Python 2.5.
- REALbasic. Среда программирования REALbasic поставляется с расширенной версией SQLite, которая поддерживает шифрование AES.
- Tcl / Tk: язык программирования Tcl / Tk теперь поставляется со встроенным SQLite.
Ограничения в SQLite
- Максимальный размер базы данных. Каждая база данных состоит из одной или нескольких «страниц» с разными размерами от 512 до 65536. Максимальный размер файла базы данных составляет 2147483646 страниц.
- Максимальное количество таблиц в схеме: для каждой таблицы и индекса требуется как минимум одна страница в файле базы данных. Максимальное количество страниц в файле базы данных - 2147483646, поэтому это верхняя граница количества таблиц и индексов в схеме.
- Максимальное количество строк в таблице: теоретическое максимальное количество строк в таблице составляет 264 (18446744073709551616 или около 1,8e + 19). Этот предел недоступен, так как сначала будет достигнут максимальный размер базы данных в 140 терабайт.
- Максимальное количество подключаемых баз данных: Количество одновременно подключаемых баз данных ограничено значением SQLITE_MAX_ATTACHED, которое по умолчанию установлено равным 10. Генератор кода в SQLite использует растровые изображения для отслеживания подключенных баз данных. Это означает, что количество подключенных баз данных не может быть увеличено выше 62.
- Максимальная длина строки или BLOB: максимальное количество байтов в строке или BLOB в SQLite определяется макросом препроцессора SQLITE_MAX_LENGTH. Значение этого макроса по умолчанию составляет 1 миллиард (1 тысяча миллионов или 1 000 000 000).
- Максимальное количество столбцов. Параметр времени компиляции SQLITE_MAX_COLUMN используется для установки верхней границы числа столбцов в таблице. Значение по умолчанию для SQLITE_MAX_COLUMN - 2000. Вы можете изменить его во время компиляции до значений, равных 32767.
- Максимальная длина оператора SQL. Максимальное количество байтов в тексте оператора SQL ограничено значением SQLITE_MAX_SQL_LENGTH, которое по умолчанию равно 1000000. Вы можете переопределить этот предел таким же большим, как и меньшее из SQLITE_MAX_LENGTH и 1073741824.
- Максимальное количество таблиц в объединении: SQLite не поддерживает объединения, содержащие более 64 таблиц.
- Максимальное количество аргументов для функции: параметр SQLITE_MAX_FUNCTION_ARG определяет максимальное количество параметров, которое может быть передано в функцию SQL, а верхняя граница для SQLITE_MAX_FUNCTION_ARG равна 127.
- Максимальное количество терминов в составном операторе SELECT: составной оператор SELECT - это два или более операторов SELECT, соединенных операторами UNION, UNION ALL, EXCEPT или INTERSECT. Максимальное количество терминов - SQLITE_MAX_COMPOUND_SELECT, по умолчанию 500.
Инструменты, связанные с SQLite
- Браузер баз данных SQLite (мультиплатформенный)
- SQLite Manager
- SQLiteMan (мультиплатформенный)
- SpatiaLite
Функции SQL, не реализованные в SQLite
- ПРАВИЛЬНОЕ И ПОЛНОЕ НАРУШЕНИЕ
- Полная поддержка ALTER TABLE
- Полная поддержка триггеров
- Запись в VIEWs
- Грант и отозвать
Учебник по SQLite3 от w3resource
Перед началом этого урока вы должны иметь некоторые знания о SQL, например, как данные хранятся в таблице, как обновляются, как удаляются, как ищутся и т. Д.
Цели обучения:
- Краткое и краткое описание, которое поможет вам понять команду topic / SQLite.
- Синтаксис команды SQLite с описанием всех используемых параметров.
- Объяснение кода.
- Вывод команды SQLite при выполнении командной строки формы.
Упражнения по SQLite, практика, решение: отсюда вы можете попрактиковаться в сотнях упражнений по SQLite, которые помогут вам улучшить свои навыки работы с SQLite.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования