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

SQLite - это C- библиотека, реализующая движок базы данных SQL. Все данные хранятся в одном файле. Программы, использующие библиотеку SQLite, могут обращаться к базе данных с помощью языка SQL без работающего выделенного процесса СУБД. Это означает, что одновременные запросы (или параллельные пользователи) должны блокировать файл для безопасного изменения БД. Данный пункт очень важен, поскольку непосредственно затрагивает сферу применения SQLite - если в основном используется чтение данных, тогда никаких проблем нет, но если необходимо делать большое количество одновременных обновлений, то приложение будет тратить больше времени на синхронизацию блокировки файлов, чем делать настоящую работу.

Возможности SQLite:

  • Поддерживает большую часть SQL92, включая триггеры и транзанкции.
  • Существует система отката, защищающая целостность данных
  • Файлы БД могут совместно использоваться между машинами с различными запросами
  • Поддерживаются БД до 2 терабайт, занимая при этом небольшую часть памяти
  • Открытые исходные коды
  • Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures.
  • Zero-configuration - no setup or administration needed.
  • Implements most of SQL92. (Features not supported)
  • A complete database is stored in a single cross-platform disk file.
  • Supports terabyte-sized databases and gigabyte-sized strings and blobs. (See limits.html.)
  • Small code footprint: less than 300KiB fully configured or less than 180KiB with optional features omitted.
  • Faster than popular client/server database engines for most common operations.
  • Simple, easy to use API.
  • Written in ANSI-C. TCL bindings included. Bindings for dozens of other languages available separately.
  • Well-commented source code with over 99% statement test coverage.
  • Available as a single ANSI-C source-code file that you can easily drop into another project.
  • Self-contained: no external dependencies.
  • Cross-platform: Unix (Linux and Mac OS X), OS/2, and Windows (Win32 and WinCE) are supported out of the box. Easy to port to other systems.
  • Sources are in the public domain. Use for any purpose.
  • Comes with a standalone command-line interface (CLI) client that can be used to administer SQLite databases.

Способ подключения к базе данных SQLite во всех языках практически одинаков. Все они требуют для этого выполнить два шага: во-первых, включить в код библиотеку SQLite (предоставляющую универсальные функции подключения), и во-вторых, подключиться к базе данных и запомнить это подключение для дальнейшего использования. В PHP для этого служит библиотека php-sqlite.

Debian, Ubuntu

apt install sqlite3

Типы данных SQLite

Типы данных SQLite: INTEGER, REAL, TEXT, BLOB, NULL.

SQLite не имеют классов, предназначенных для хранения дат и/или времени. Вместо этого, встроенные функции даты и времени в SQLite способны работать с датами и временем, сохраненными в виде значений TEXT, REAL и INTEGER в следующих форматах:

  • TEXT как строка формата ISO8601 ("YYYY-MM-DD HH:MM:SS.SSS").
  • REAL как числа юлианского календаря. То есть число дней с полудня 24 ноября 4714 г. до н.э. по Гринвичу в соответствии с ранним григорианским календарём.
  • INTEGER как время Unix, — количество секунд с 1970-01-01 00:00:00 UTC.

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

  • Пример. Вставить текущую дату используя встроенную функцию datetime()
    INSERT INTO stat VALUES(NULL, datetime('now'));

Утилита sqlite3 - консоль управления базой SQLite. Запуск.

$ sqlite3 db.sqlite 
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

Вывести известные команды наберите .help

Установка SQLite на Windows 10 и Запуск SQLite3 на Windows

Читайте также FAQ

PQ VPS сервера в 28+ странах.