What is SQLite?
SQLite is a complete SQL database contained in a single file — no server to run, no setup, no configuration. Your whole database is one .db file you can copy, email, or commit. It is the most widely deployed database in the world (it is inside your phone, your browser, and countless apps).
When should you use it?
Perfect for learning SQL, for small-to-medium apps, for desktop and mobile apps, and for prototypes. Use it when you do not need multiple servers writing at once. When you outgrow it, the SQL you learned transfers directly to PostgreSQL.
How to set it up
Nothing to install — it is built into Python (import sqlite3) and most languages. The database is created the first time you open a file.
How it connects to your code
In Python: conn = sqlite3.connect("app.db"), then run SQL with conn.execute(...). That is the entire setup.
SQLite Reference Topics 11 planned
These are the topics planned for this reference. They are not written yet — the list is published so you can see what is coming. Everything already complete on this site is linked from the Languages section.
Origin (D. Richard Hipp, 2000), public domain, and its unique embedded design.
Guide in progressOften already present — the sqlite3 CLI and language bindings.
Guide in progressDynamic typing: SQLite's storage classes, unlike other SQL databases.
Guide in progressCREATE TABLE syntax and SQLite's relaxed type affinity rules.
Guide in progressA large, standards-compliant subset of SQL in a tiny engine.
Guide in progressACID transactions with a single-writer model.
Guide in progressB-tree indexes and the automatic rowid.
Guide in progressWhy a single .db file is both database and container.
Guide in progressGreat for embedded/local use; not built for high-concurrency writes.
Guide in progressBuilt into most language standard libraries already.
Guide in progressThe most widely deployed database engine in the world.
Guide in progress