What is SQLite?

SQLite is a widely-used lightweight, embedded relational database management system (RDBMS).

SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is largely SQL standards compliant, and it is fully ACID compliant.

Embedded Database Engine

Unlike most other RDBMs (such as SQL Server, Oracle, MySQL, PostgreSQL, etc), SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files.

A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file. As a result, SQLite applications require less configuration than client/server databases typically do.

Also, SQLite doesn’t require database administrators to add users, logins, roles etc. SQLite works on the permissions of the file system.

Transactions

SQLite implements serialisable transactions that are atomic, consistent, isolated, and durable, (ACID) even if the transaction is interrupted by a program crash, an operating system crash, or a power failure to the computer.

SQLite Implementations

SQLite is usually considered the most deployed database system in the world.

SQLite is often used for building embedded databases in web browsers and mobile phones.

According to the SQLite website, it is deployed in:

  • Every Android device
  • Every iPhone and iOS device
  • Every Mac
  • Every Windows10 machine
  • Every Firefox, Chrome, and Safari web browser
  • Every instance of Skype
  • Every instance of iTunes
  • Every Dropbox client
  • Every TurboTax and QuickBooks
  • PHP and Python
  • Most television sets and set-top cable boxes
  • Most automotive multimedia systems
  • Countless millions of other applications

Using SQLite

The SQLite distribution includes a standalone command-line interface (CLI). The SQLite CLI can be used to do most of the usual database admin and programming tasks such as:

SQLite also includes various inbuilt functions, including these date and time functions and these aggregate functions.

SQLite also has the concept of PRAGMA statements, which are specific to SQLite. These are an SQL extension used to modify the operation of the SQLite library or to query the SQLite library for internal (non-table) data.

There are also various admin tools that have been written specifically for SQLite. Some of these are graphical tools that enable you to do most tasks by “pointing and clicking”.

Also, while SQLite is itself written in ANSI-C, interfaces exist for many other programming languages including C++, C#, Objective-C, Java, Tcl, Perl, Python, Ruby, Erlang, JavaScript, and more.

Copyright/Licence

The code for SQLite is in the public domain and is therefore free for use for any purpose (commercial or private).

SQLite Website

For more information about SQLite, see the SQLite website.