Инструменты пользователя

Инструменты сайта


sqlite

SQLite

Homepage: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 (php5-sqlite) (php5-sqlite).

Типы данных 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'));

FAQ

Консоль для SQLite

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

# aptitude install sqlite3

Запуск.

$ 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.txt · Последние изменения: 2013/04/15 14:37 (внешнее изменение)

Яндекс.Метрика