SQLite is an ACID-compliant relational database management system contained in a relatively small (~500kB) C programming library.
Unlike client-server database management systems, the SQLite engine is not a standalone process with which the program communicates. Instead, the SQLite library is linked in and thus becomes an integral part of the program. It can also be called dynamically. The program uses SQLite's functionality through simple function calls, which reduces latency in database access as function calls are more efficient than inter-process communication. The entire database (definitions, tables, indices, and the data itself) is stored as a single cross-platform file on a host machine. This simple design is achieved by locking the entire database file at the beginning of a transaction.
SQLite was created by D. Richard Hipp, who sells training, direct technical support contracts and add-ons such as compression and encryption. The source code for SQLite is in the public domain.
SQLite implements most of the SQL-92 standard for SQL. For example it has partial support for triggers and supports most complex queries, but silently ignores referential integrity constraints (foreign key constraints).
SQLite uses an unusual type system for a SQL DBMS. Instead of assigning a type to a column as in most SQL database systems, types are assigned to individual values; in language terms it is dynamically typed. Moreover, it is weakly typed in some of the same ways that Perl is: one can insert a string into an integer column (although SQLite will try to convert the string to an integer first, if the column's preferred type is integer). This adds flexibility to columns, especially when bound to a dynamically typed scripting language. However, the technique is not portable to other SQL databases. The inability to have strictly typed columns, as in typical databases, is a common criticism. The SQLite web site describes a "strict affinity" mode, but this feature has not yet been added.
Read more about SQLite at Wikipedia.
I am using SQLite since 2007. SQLite was not used very often in projects I had been engaged, but it follows concepts most relational databases do. I am competent in:
Database design,
Writing and optimizing of SQL queries.