Поиск по сайту Поиск

Что такое база данных SQLite и для чего она нужна

Для работы с БД нужны специальные программы — системы управления базами данных (СУБД). Одна из самых популярных программ — MySQL. Однако существует ее простой и легковесный аналог, который называется SQLite. Об этой СУБД мы расскажем в статье.

Что такое SQLite и как она работает

SQLite — это система управления базами данных, написанная на языке C. Она не имеет сервера и хранит созданные базы данных в пределах одного локального компьютера. SQLite имеет открытый исходный код.

SQLite является встраиваемой СУБД — то есть системой, которая не использует логику ‭«клиент-сервер» в своей основе. Движок этой СУБД входит в состав программы и представляет собой библиотеку. В свою очередь, приложение взаимодействует с этой библиотекой при помощи вызовов функций API. Вся информация о базах данных SQLite находится в одном файле. Этот файл хранится на устройстве, которым вы пользуетесь в момент создания базы данных.

SQLite подходит для многих популярных языков программирования, таких как:

  • PHP,
  • Python,
  • C++,
  • C#, 
  • Java,
  • Perl,
  • Swift и многих других.
Источник: Shutterstock. Система управления базами данных SQLite не имеет сервера и хранит созданные базы данных в пределах одного локального компьютера

Отличие SQLite от MySQL

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

MySQL — реляционная система управления базами данных с клиент-серверной архитектурой. Что касается SQLite, она не имеет сервера и хранит информацию в одном файле.

Предположим, что вам предстоит перенос базы данных на другое устройство. При работе с MySQL нужно выполнить следующие действия:

  1. Найти все файлы, которые имеют отношение к БД.
  2. Перенести базу и все ее файлы на другое устройство.
  3. Указать новые пути к БД.
  4. Прописать настройки для подключения к базе данных.
  5. Проверить, насколько корректно прошел перенос.

Также можно встретить другой алгоритм:

  1. Сохранить дамп базы данных.
  2. Загрузить дамп на новое устройство.
  3. Создать пользователя и выдать ему права доступа к БД.
  4. Проверить корректность переноса.

В случае с SQLite подобный перенос происходит проще, так как достаточно выполнить два действия:

  1. Перенести файл БД с одного устройства на другое.
  2. В коде сайта или приложения прописать новый путь к базе данных.

Где используется SQLite

SQLite применяется во многих популярных приложениях: веб-браузерах, музыкальных плеерах, графических редакторах и других. Такому распространению способствовало гибкое встраивание СУБД и простота работы с ней.

SQLite database встроена в следующие программы:

  • Adobe Integrated Runtime — среда для запуска приложений,
  • Qt — фреймворк для разработки на C++,
  • Mozilla Firefox — веб-браузер,
  • Mozilla Thunderbird — почтовый клиент,
  • SQLite Manager — приложение для работы с БД в Google Chrome,
  • Viber — мессенджер,
  • Skype — программа для видеосвязи и прочие.

Также существует ПО, в котором нет SQLite по умолчанию, однако есть возможность подключить ее в качестве формата хранения данных. SQLite поддерживается в следующем ПО:

  • 1С:Предприятие версий 7.7 и 8.3 — платформа для автоматизации работы предприятия,
  • Google Chrome, Opera и Safari — веб-браузеры,
  • Nextcloud — набор программ для создания облачного хранилища,
  • Banshee — музыкальный и видеоплеер,
  • FAR Manager — консольный менеджер файлов,
  • Adobe Photoshop Lightroom — графический редактор и др.
Источник: Shutterstock. SQLite имеет открытый исходный код

Преимущества и недостатки SQLite

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

Преимущества SQLite

Эта СУБД популярна за счет своих преимуществ:

  • высокая скорость работы. Так как SQLite имеет простую архитектуру, все операции внутри СУБД отрабатываются быстро. Кроме того, ее компоненты уже включены в приложение — это также ускоряет работу СУБД; 
  • надежность. Каждый компонент SQLite был протестирован разработчиками. Это значит, что риск некорректной работы системы достаточно низок;
  • минималистичный функционал. В СУБД встроен минимальный набор необходимых функций: то есть тех, которые пригодятся практически для всех проектов. Если вам нужны дополнительные опции, можно использовать как расширения SQLite, так и сторонние программы; 
  • однофайловая архитектура. Все таблицы, их связи и индексы базы данных хранятся в одном файле на том же устройстве, что и программа. Перед записью изменений файл блокируется для сторонних процессов.   
  • простая настройка. Весь базовый функционал СУБД встроен в решение ‭«из коробки». Также SQLite не требует длительной установки и настройки — в этом вы сможете убедиться в следующем разделе;
  • кроссплатформенность. SQLite можно установить на большинство популярных операционных систем. Среди доступных систем — Windows, macOS и ОС семейства Linux;
  • автономность. SQLite не зависит от сторонних программ, фреймворков и библиотек. СУБД может работать без дополнительных расширений и даже доступа к интернету;
  • малое потребление ресурсов. Так как SQLite — легковесная СУБД (чаще всего файл БД занимает не более 1 Мб), то для корректной работы системы подойдет оборудование практически любой мощности;
  • открытый код. SQLite распространяется свободно и имеет открытый исходный код. Благодаря этому вы можете бесплатно пользоваться СУБД и модифицировать ее по своему усмотрению.

Недостатки SQLite

Однако БД SQLite обладает и недостатками, такими как:

  • слабая отказоустойчивость и масштабируемость. В SQLite нет встроенных механизмов отказоустойчивости и масштабируемости: например, репликации;
  • отсутствие встроенной поддержки Unicode. Unicode — это один из самых популярных стандартов кодирования. Он включает в себя символы практически всех алфавитов мира, а также цифры. По умолчанию Unicode не добавлен в состав SQLite. Если вы планируете работать с символами национальных алфавитов (например, с кириллицей) потребуется добавление Юникода в качестве расширения;
  • ограниченная поддержка типов данных. SQLite по умолчанию поддерживает четыре типа данных: TEXT (текст), INTEGER (целое число), REAL (дробь) и BLOB (двоичное значение), а также NULL — то есть отсутствие данных. Если вам потребуются другие типы, их нужно будет создать самостоятельно;
  • ограничения многопоточности. Многопоточность — это выполнение нескольких процессов одновременно. SQLite поддерживает многопоточность лишь частично: чтение данных из базы могут выполнять несколько потоков, а записывать данные — только один.

Как установить SQLite

Рассмотрим два варианта установки СУБД SQLite:

  1. На Linux.
  2. На Windows. 

О каждом из них подробно расскажем ниже.

Linux

В качестве примера мы рассмотрим установку на ОС Ubuntu, также она применима для Debian.

Чтобы установить SQLite:

  1. Подключитесь к серверу по протоколу SSH.
  2. Обновите пакеты. Для этого поочередно выполните команды:
  1. Установите SQLite:
  1. Проверьте версию установленной СУБД:

Вывод будет иметь следующий вид:

После установки можно запустить консоль SQLite и начать работу.

Windows 

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

Чтобы установить SQLite:

  1. Подключитесь к серверу по протоколу RDP.
  2. Перейдите на официальный сайт SQLite.
  3. Загрузите архив с названием Windows tools:
sqlite.org
  1. Создайте новую папку для хранения файлов SQLite. В нашем примере она размещена по пути C:\Program Files\SQLite.
  2. Распакуйте скачанный архив в папку, которую вы создали на предыдущем шаге.
  3. Перейдите в папку SQLite и запустите программу sqlite3.exe
Распаковка архива SQLite

После этого откроется консоль SQLite, в которой вы можете создать первую базу данных. Об основных консольных командах для работы с БД мы рассказали ниже.

Как пользоваться SQLite

Запуск консоли

Чтобы запустить консоль SQLite, выполните команду:

Создание базы данных

Для создания новой базы данных введите следующее:

Вместо db_name укажите желаемое название базы данных.

Обратите внимание: база данных сохраняется в системе только после того, как она выполнит какой-либо запрос. Если вы планируете заполнить созданную БД позже, направьте к ней пустой запрос. Он имеет следующий вид:

Создание таблицы

Для создания таблицы в базе данных введите следующую информацию:

Где:

  • students_marks — имя таблицы;
  • id, mark, surname, name — названия столбцов новой таблицы;
  • integer, text — типы данных, которые будут храниться в столбцах.

Добавление данных в таблицу

Чтобы добавить информацию в таблицу, в консоль введите следующее:

Где:

  • students_marks — название таблицы;
  • mark, surname, name — имена столбцов, в которые нужны внести данные;
  • 5, Ivanov, Ivan — значения, которые нужны внести в ячейки.

Просмотр таблицы

Для просмотра таблицы используйте команду:

Вместо students_marks укажите название таблицы.

Переименование таблицы

Чтобы переименовать таблицу, в консоли введите команду:

Где:

  • students_marks — текущее название таблицы,
  • new_students_marks — новое название таблицы.

Добавление столбца

Для того чтобы добавить новый столбец в таблицу, введите следующую команду:

Где:

  • students_marks — название таблицы,
  • patronymic — название нового столбца,
  • text — тип данных в новом столбце.

Переименование столбца

Чтобы переименовать столбец, выполните следующую команду:

Где:

  • students_marks — название таблицы,
  • patronymic — текущее имя столбца,
  • second_name — новое имя столбца.

Удаление столбца

Для удаления столбца из таблицы используйте команду:

Где:

  • students_marks — название таблицы,
  • patronymic — имя столбца для удаления,

Закрытие консоли

Если вам нужно закончить работу и выйти из консоли, выполните команду:

Мы подробно описали DB SQLite: принципы работы, особенности и процедуру установки. Несмотря на большое количество преимуществ, эта СУБД подходит не для всех приложений: рекомендуем выбирать ее для однопользовательских приложений, ресурсов с низким и средним трафиком, а также для программ с выполнением прямых операций чтения и записи на устройство.

Как внедрить CRM-систему для подбора персонала в облаке и ускорить наем: кейс DIY Service

В кейсе рассказываем, как маркетинговое агентство DIY Service автоматизировало подбор и передачу кандидатов на вакансии в операционный отдел и оптимизировало...
Read More

Что такое CentOS – обзор, версии ОС

В мире IT есть много операционных систем, каждая из которых претендует на звание «лучшей». Среди этого множества дистрибутивов есть CentOS...
Read More

Холдинг: что это такое, как работает и кому выгоден

Рассмотрим, в чем особенности этой корпоративной структуры, какие у нее преимущества и недостатки. (далее…)
Read More

Байер: кто такой, чем занимается, сколько может заработать

Байера можно назвать менеджером по закупкам, но эта профессия подразумевает больше личного вовлечения. Для успешной карьеры в этой области нужно...
Read More

Что такое комплаенс: как бизнесу управлять рисками и вовремя решать проблемы

Соответствие требованиям закона и отраслевым стандартам — это не только юридическая необходимость, но и решающий фактор успеха и репутации компании....
Read More

Основные средства в 2024 году: бухгалтерский учет, стоимость, амортизация

В любом бизнесе важно иметь четкое представление о состоянии активов компании для планирования ее дальнейшего развития. Рассказываем, что такое основные...
Read More

Нотариус: кто это, чем занимается и чем полезен бизнесу и физлицам

Нотариус обладает исключительным правом подтверждать, что юридическая процедура была совершена по всем требованиям закона. Это важно, например, чтобы защититься от...
Read More

УПД в бухгалтерии: когда один документ может заменить несколько

Многие предприниматели жалуются на сложный и слишком изобильный документооборот: много документов приходится оформлять. Но при этом российское законодательство дает возможность...
Read More

Что такое роялти, как их рассчитать и кому они выгодны

Чтобы легально пользоваться результатами чужого труда в своем бизнесе, нужно за это заплатить. И неважно, идет ли речь о дизайне...
Read More

Франшиза: что это, как работает и стоит ли начинать такой бизнес

Франшизы предоставляют предпринимателям возможность использовать популярные бренды, эффективные бизнес-модели и поддержку со стороны материнской компании. Но за эти привилегии придется...
Read More