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

Что такое база данных 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 встроена в следующие программы:

  • 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:
qlite.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 — имя столбца для удаления,

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

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

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

Что такое база данных SQLite и как с ней работать

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

Для чего бизнесу нужны ваучеры

Словом «ваучер», кажется, можно пугать людей старшего поколения в России: слишком уж серьезной оказалась травма реформ 1990-х годов, когда не...
Read More

Как работать ИП на НПД: особенности системы налогообложения

Налог на профессиональный доход (НПД) ― это универсальный налоговый режим, предназначенный как для физических лиц, так и для индивидуальных предпринимателей....
Read More

Что такое транзакция: виды и особенности движения денег

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

Отказоустойчивая ИТ-инфраструктура, ускоряющая 1С на 30%: опыт логистического сервиса Boxberry

Рассказываем, как помогли Boxberry получить новое качество облачного сервиса под 1С платформу, не увеличивая бюджет.  (далее…)
Read More

Что такое информационная безопасность

Угрозы для информационной безопасности могут возникать не только извне, но, наример, и внутри компании, а защищать порой стоит не только...
Read More

Для чего нужен межсетевой экран и как он работает

Разберемся, что такое межсетевой экран (иначе называется firewall или файрвол, а также brandmauer или брандмайэр), как он работает и для...
Read More

Аутсорсинг VS собственное производство одежды: опыт бренда кроссовок

Один способ позволяет отслеживать каждую деталь изделия, другой – сфокусироваться на брендинге и маркетинге. Разбираемся в плюсах и минусах каждого варианта и выбираем оптимальный для старта бизнеса.
Read More

Как сократить затраты на инфраструктуру в два раза: опыт ИТ-компании Ctrl2GO

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

Каким должен быть сайт-визитка для эксперта

Рассказываем, как создать сайт-визитку и какой должна быть структура. Внутри — инструкция, которая поможет предпринимателям.
Read More