Sqlite3
Overview
sqlite3 has many features that make it different and unique from other database solutions. The API for sqlite3 is based on the C language and has very nice reference documentation including a wiki. Although the base API is based on C, there are wrappers for many
other languages.
From the http://www.sqlite.org/ homepage:
sqlite3 is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. Features include:
- 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 disk file.
- Database files can be freely shared between machines with different byte orders.
- Supports terabyte-sized databases and gigabyte-sized strings and blobs. (See limits.html.)
- Small code footprint: less than 250KiB fully configured or less than 150KiB with optional features omitted.
- Faster than popular client/server database engines for most common operations.
- Simple, easy to use API.
- TCL bindings included. Bindings for many other languages available separately.
- Well-commented source code with over 98% test coverage.
- Available as a single ANSI-C source-code file that you can easily drop into another project.
- Self-contained: no external dependencies.
- Sources are in the public domain. Use for any purpose.
The sqlite3 distribution comes with a standalone command-line access program (sqlite) that can be used to administer an sqlite3 database and which serves as an example of how to use the sqlite3 library.