SQLite is an Open Source RDBMD (Relational Database Management System) that is provided in the form of a library so that it can be easily embedded within other software packages. It differs from a conventional DBMS such as MySQL or PostgreSQL in several important respects:
- There is no datavase server daemon. Instead the client process makes a library call to SQLite, which accesses the database as requested then returns.
- Each database is contained within a single database file which can be stored anywhere that is accessible to the calling process. The format of this file is platform-neutral, and backwards-compatible between different versions of SQLite.
- There is no authentication or access control beyond that provided by the operating system: the owner of the database file controls the database.
- Access by multiple processes to the same database is safe, but inefficient in comparison to what would be possible if the database were managed by a separate daemon.
The syntax understood by SQLite is mostly compatible with SQL92 but with some omissions. Its dynamic type system is unusual, but should have little or no effect on queries that would be valid in a statically-typed environment. A command-line client is provided in the form of the