Как установить БД SQLite на Linux.

Введение.

SQLite отличается от MySQL, Oracle, PostgreSQL, SQL Server… Он не предназначен в качестве замены или конкурента, какой-либо из выше перечисленных систем. Его не нужно устанавливать и настраивать, ему не требуется отдельного серверного процесса для запуска и остановки — это библиотека бессерверного компонента, размер которой менее 750 КБ. При обслуживании не требуется создавать новый экземпляр бд и раздавать права доступа. У SQLite нет файла конфигурации и режима клиент серверной связи с ядром процессора (например TCP / IP), для обмена результатами.

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

В SQLite все процессы имеют доступ к бд, как к простому текстовому файлу лежащему на диске. Читать бд могут несколько процессов, записывать только один, остальные ждут.

  • Отличительные особенности:
    • Нулевая конфигурация
    • Бессерверный
    • Текстовый файл базы данных
    • Единая БД для всех архитектур
    • Компактный
    • Хранит любые типы данных
    • Управляет длиной записи таблиц
    • Удобен в чтении кода
    • В качестве компилятора работает виртуальная машина
    • Общественная лицензия

Применения SQLite охватывает широкий круг устройств: телефоны, смартфоны, приставки, веб-сервера, веб-браузеры (Firefox, Chrome и Safari), Skype, iTunes… Имея кросс платформенную поддержку используется на 32 и 64 разрядных устройствах.

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

Подготовка.

  • Стенд:
  • ALT Linux, имя lin-sqllite; ip-10.0.2.11;
  • Simply Linux, имя: lin-sl, IP=10.0.2.30

Выбрав и установив сервер минимум, обновляем его репозиторий.

# apt-get update; apt-get dist-upgrade

Для установки можно воспользоваться графическим менеджером управления пакетами Synaptic.

# apt-get install synaptic
# synaptic

Установка консольной sqlite3 утилиты объекта подключения к БД.

# apt-get install sqlite3

Скомпилировать sqlite можно, скачав исходники с сайта производителя.

Управление SQlite.

Прежде чем использовать sqlite разберёмся, на нескольких примерах, с синтаксисом вводимых команд. По умолчанию, при первом запуске, мы подключаемся к главной базе main database file.

$ sqlite3
sqlite> .database 
main: "" r/w
sqlite>

Посмотрим какой справочный аппарат входит в утилиту.

$ sqlite3
sqlite> .help 
...

Список выводит большинство оперативных команд.

Перед вводимой командой должна стоять точка, после ввода инструкций ставим точку с запятой или / «go»  и «Enter». Для комментарий используем « без пробела перед знаком. Для выхода из sqlite нажимаем ctrl+D, для прерывания выполнения ctrl+C.

Примеры работы.

Создадим базу данных с именем rtr.db

Название базы можно указывать без расширения, но для корректной работы, следует придерживаться правилам синтаксиса для баз данных — указав суффикс db

$ sqlite3 rtr.db

Если отсутствует название бд — создается временная база данных, которая автоматически удаляется при завершении работы программы sqlite3.

Построим таблицу tab внутри бд rtr.db с одним текстовым и двумя числами столбцами, как показано ниже.

sqlite> create table tab(one text, two int);

Заполним таблицу tab некоторыми значениями.

sqlite> insert into tab values('Привет', '23');

Выведем информацию таблицы на экран.

sqlite> select * from tab;
Привет|23
sqlite> 

С помощью параметра .mode изменим формат вывода с list на column.

sqlite> .mode     
current output mode: list
sqlite> .mode column
sqlite> select * from tab;
one     two
------  --- 
Привет  23 
sqlite> 

По умолчанию установлен формат list, после выхода из оболочки настройки формата не сохраняются.

Просмотреть таблицы, схемы и индексы можно командами.

sqlite> .tables
tab
sqlite> .indexes
sqlite> .schema
CREATE TABLE tab(one text, two int);

Для подключения к базе вводим команду .databases

sqlite> .databases
main: "" r/w

Листинг выводит одну базу main доступную для чтения и записи.

Ранние мы создали базу rtr.db давайте подключимся к ней. Теперь мы видим две базы main и rtr с правами доступа rw.

$ sqlite3 rtr
...
main: /home/user/rtr r/w

Открыть нужную бд находясьвнутриsqlite3 можно командой .open

sqlite> .open rtr.db
sqlite> .databases
main: /home/user/rtr r/w

Экспорт таблиц поддерживаются для CSV и Excel формата.

$ sqlite3
sqlite> .open rtr.db
sqlite> .excel
SELECT * FROM tab;

Использование sqlite.

Все мы используем браузер на своих цифровых устройствах. Но, мало, кто догадывается, что в большинстве из них в качестве бд работает — sqlite. Если просмотреть каталоги профиля своего обозревателя, например Firefox, мы заметим два неприметных файла cert9.db и key4.db.

  • key4.db — хранилище паролей
  • cert9.db — хранилище сертификатов

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

Предупреждение sqlite3 не найден.
Предупреждение sqlite3 не найден.

Теперь мы знаем о чём идёт речь — установим sqlite, как показано выше. После чего открываем базу cert9.db для выполнения манипуляций.

По условию мы находимся в каталоге где лежат cert9.db, key4.db.

$ sqlite3 
sqlite> .open cert9.db
sqlite> .excel
sqlite> SELECT * FROM nssPublic;

После экспорта таблиц в Exel, вызывав последнею инструкцию мы увидим окно вывода значений таблицы.

Экспорт таблицы в Exel.
Экспорт таблицы в Exel.

Такие действия можно выполнить с базой key4.db.

Заключение.

По своим характеристикам SQLite не может конкурировать с большими корпоративными базами, её задача состоит в другом — работать там где будет «тесно» большим БД. Разворачивая большие базы мы вместе с функционалом получаем множественное дерево папок и журналов, всё это занимает место в ОЗУ и HDD устройства и как результат влияет на размер изделия. Не смотря на свои небольшие возможности SQLite поддерживает резервное копирование, индексацию, откат после аварии, форматы времени и языков, управление с помощью графической утилиты SQLiteStudio и многое другое.

Полезные ссылки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Copyright © 2020-2024
Все права защищены.
При перепечатке указать источник: kabtim-t.ru
Контакты