An Embeddable SQL Database Engine

This page was last modified on 2004/04/23 17:04:45 UTC
The latest SQLite version is 2.8.17 created on 2005/06/06 UTC


SQLite is a C library that implements an embeddable SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. The distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library.

SQLite is not a client library used to connect to a big database server. SQLite is the server. The SQLite library reads and writes directly to and from the database files on disk.

Quick Links:


Current Status

A Change Summary is available on this website. You can also access a detailed change history, view open bugs, or report new bugs at the CVS server.

Complete source code and precompiled binaries for the latest release are available for download on this site. You can also obtain the latest changes by anonymous CVS access:

cvs -d :pserver:anonymous@www.sqlite.org:/sqlite login
cvs -d :pserver:anonymous@www.sqlite.org:/sqlite checkout sqlite
When prompted for a password, enter "anonymous".

Whenever either of the first two digits in the version number for SQLite change, it means that the underlying file format has changed. Usually these changes are backwards compatible. See formatchng.html for additional information.


The following documentation is currently available:

The SQLite source code is 30% comment. These comments are another important source of information.

Mailing List

A mailing list has been set up for discussion of SQLite design issues or for asking questions about SQLite. To subscribe send an email to sqlite-users-subscribe@sqlite.org. If you would prefer to get digests rather than individual emails, send a message to to sqlite-users-digest-subscribe@sqlite.org. For additional information about operating and using this mailing list, send a message to sqlite-users-help@sqlite.org and instructions will be sent by to you by return email.

Professional Support and Custom Modifications

If you would like professional support for SQLite or if you want custom modifications to SQLite performed by the original author, these services are available for a modest fee. For additional information visit http://www.hwaci.com/sw/sqlite/support.html or contact:

D. Richard Hipp
Hwaci - Applied Software Research

Building From Source

To build sqlite under Unix, just unwrap the tarball, create a separate build directory, run configure from the build directory and then type "make". For example:

$ tar xzf sqlite.tar.gz       Unpacks into directory named "sqlite" 
$ mkdir bld                   Create a separate build directory 
$ cd bld
$ ../sqlite/configure
$ make                        Builds "sqlite" and "libsqlite.a" 
$ make test                   Optional: run regression tests 

If you prefer, you can also build by making whatever modifications you desire to the file "Makefile.linux-gcc" and then executing that makefile. The latter method is used for all official development and testing of SQLite and for building the precompiled binaries found on this website. Windows binaries are generated by cross-compiling from Linux using MinGW

Related Sites

For information bindings of SQLite to other programming languages (Perl, Python, Ruby, PHP, etc.) and for a list of programs currently using SQLite, visit the Wiki documentation at: