SQLite [ ˌ ɛskju ɛllaɪt ː ] is a library that contains a relational database system. SQLite supports a large part of the set in the SQL -92 standard SQL language commands. Among other things, implements SQLite transactions, subqueries ( subselects ) views ( views), triggers, and user-defined functions. The system is designed especially for use in embedded database system, thus missing features like the ability to manage object permissions ( GRANT, REVOKE ). For many programming languages, there matching database interfaces. Also in the console and in shell scripts usable, simple frontend is available. With sqlitebrowser is a graphical frontend for Unix and Windows. The entire database is in a single file, a client -server architecture does not exist.


The SQLite library can be integrated directly in appropriate applications, so no additional server software is needed. The latter is the crucial difference to other database systems. By including the library, the application to database functionality is extended without having to rely on external software packages.

SQLite has some unique features compared to other databases: The library is only a few hundred kilobytes in size. A SQLite database is a single file that contains all the tables, indexes, views, triggers, etc.. This simplifies the exchange between different systems, even between systems with different byte orders. Each column can contain data of any type, at run time, if necessary, converted.

Some existing in other database systems offers features not SQLite: write operations of different processes in the same database file can only be run in sequence. Since version 3.2 there is the ALTER TABLE command, but it has only limited functionality. There are currently allowed only rename tables and add columns to the tables. SQLite does not have a manage user access and permissions at the database level. Apply for the database files, the access permissions of the file system.

SQLite was developed in 2000 by Richard Hipp and is written in C. In addition, a library for use under Tcl is offered. For other programming languages ​​such as C and Java, there are wrappers of external developers, Python (version 2.5) includes SQLite even in the standard version. Also available ODBC, dbExpress and JDBC drivers. SQLite does not enforce type safety: Erroneous entries are generally accepted and converted to strings.

Use and dissemination

SQLite is used among others in operating systems for mobile phones, such as Symbian OS or Android. In addition, the browser Mozilla Firefox has been using SQLite version 3 - for example, for bookmarks and cookies - after they had already used in SQLite version 2 for program internal databases. There is for this browser and all other Mozilla-based applications also the SQLite Manager add-on that lets you view, edit and query the SQLite database the application, but also any other SQLite database can.

Furthermore, using the Safari browser of Apple internal SQLite, both the desktop and the iPhone version as well as the e -mail program mail from Apple. Also videos and music on the iPhone are stored in a SQLite database. Within Mac OS X, SQLite is also used to manage cache data such as the software update. SQLite also comes in Adobe AIR as a database application used. As of version 1.5 of Adobe AIR SQLite data can be stored and read encrypted using the EncryptedLocalStore class. The VoIP / Messenger Skype software from version 4 stores contacts and any applicable user data (chat logs, etc. ) in a SQLite database.

The integration in Mozilla Firefox, in the popular mobile phones ( Android, iOS, Symbian OS, Windows Phone) as well as with any PHP installation (which in itself high user numbers have ) SQLite is the most widely used and most widely used database system in the world.

Also in OpenOffice SQLite databases can be integrated.

Terms of Use

While the software is in the public domain, the registration of the trademark with the SQLite United States Patent and Trademark Office has been requested on 12 February 2007. This request was granted on 24 June 2008.