sqlite3 and shell — simple and stupid 😉
sqlite
sqlite или sqlite3 (последняя версия) — это легковесная реляционная база (ACID-совместимая) данных работающая из файла. Не работает по сети.
Совместима с стандартом SQL-92.
Она намного быстрее (в своём классе задач) mysql & postgresql.
Я бы рекомендовал её использовать во многих случаях вместо mysql & postgresql, например на личном блоге 😉
Сама библиотека SQLite написана на C; существует большое количество привязок к другим языкам программирования, в том числе C++, Java, C#, VB.NET, Python, Perl, PHP, Tcl (средства для работы с Tcl включены в комплект поставки SQLite), Ruby, Haskell, Scheme, Smalltalk, Lua и Parser, а также ко многим другим. Полный список существующих средств размещён на странице проекта
Shell
shell — на английском, оболочка.
shell или оболочка операционной системы или интерпретатор команд операционной системы — взаимодействие между ОС и пользователем.
В общем с shell-ом надо говорить на языке командной оболочки.
Применение Shell+sqlite3, Shell + sqlite
Обычно надо откуда-то получить данные, их записать и обработать.
*Желательно что бы запись и изменение данных не конфликтовала между собой.
*Не хочется городить километры кода для простых вещей. Например не хочется писать свои или искать чужой код для чтения и записи в файл.
Вообще — применений просто масса.
bash
Как же встроить sqlite в скрипт на bash-интерпретаторе?
Выполнения кода:
Как видно скрипт не заработал с 1-м аргументом
# /test.sh 1
Введите пожалуйста 2-а аргумента, для того что бы внести их в базу данных /root/test.db
Скрипт заработал
#/test.sh 1 2
Уже было внесено:
1|2
SQLite сообщил, что Мы внесли нейникальное значение для индекса
# /test.sh 1 2
Error: column test is not unique
Уже было внесено:
1|2
Всё отлично )))
[:]# /test.sh 2 3
Уже было внесено:
1|2
2|3