Features for SQLite
Modified date: Monday, June 30, 2025
Table of Contents
Introduction
In its own words, "SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine". It is currently ranked #10 in DB-Engine rankings.
▶️ Online Playground
General
| Feature | Value | Definition |
| intro | SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. | in their own words - but I reserved the rights to remove some bold claims like "the best", unless it is widely recognized. |
| vendor | SQLite Team | |
| initial release | 2000 | |
| latested version | 3.5 | We don't put a release date here as the software is patching frequently. So tracking it is not much useful. |
| supported platforms | Android, *BSD, iOS, Linux, Mac, Solaris, VxWorks, and Windows | supported OS/CPU platforms |
| db-engines ranking | 10 | ranks from https://db-engines.com/en/ranking (06/25) |
| relational? | yes | Is it a relational database? (1) Most database are actually with some extensions, for example, nested data types, graph support, etc, which we usually called "multi-model". (2) Some of them are product family, meaning they have more than one database. Here we focus on the main one but explain others when needed. |
| open source? | yes | mainly the engine code |
| license | no license is needed The core SQLite database software is in the public domain. No license is necessary to use SQLite or to build SQLite into your products. | |
| price: box software | 0 free download | |
| on-premise offering | yes | if no means you can't buy "box" software from them |
| cloud offering | None It is mainly in embedded usage. | |
| technical doc | https://www.sqlite.org/docs.html | |
Data Types
SQLite has a very different type system design than other databases. Most SQL
database engines uses column based typing. Which means, the datatype
of a value is determined by its column in which the value is stored. SQLite uses a more general dynamic type system. In
SQLite, the datatype of a value is associated with the value itself, not with
its column. This is called flexible typing.
For example, You don't need to tell it is a smallint or bigint, simply say int, and SQLite will choose the smallest storage class that can store the value you supply, on a value-by-value basis.
| Feature | Value | Definition |
| int: 1-bytes int name | int SQLite accepts names like TINYINT, SMALLINT, BIGINT, but only as type names. They’re purely aliases — they have no effect on storage size or strict typing, they will all converted to INTEGER type. Since the actual storage size is value-by-value basis, so the INT type you specified does not have any effect: it will pick up 0,1,2,3,4,6,8 bytes for your value. | |
| int: 2-bytes int name | int | |
| int: 4-bytes int name | int | |
| int: 8-bytes int name | int | |
SQL
| Feature | Value | Definition |
| SQL: standard complaince | medium | |
Storage and System
| Feature | Value | Definition |
| arch: server | Embedded | Embedded or traditional C/S? |
| arch: run in browser? | yes | It also known as a client-side database, is a database that is stored and managed within a user's web browser, rather than on a remote server. |
| ACID: durability | yes | |
| Materialized View: support? | no | |
Benchmarking
| Feature | Value | Definition |
| any official TPC benchmarks? | no | The TPC benchmark includes a set of tests simulating real-world scenarios to evaluate database performance. |
| Feature | Value | Definition |
| command line client | sqlite3 | it means "sql client" for database supporting SQL. For embedded atabase, the client includes the server together. |
Export Regulations
| Feature | Value | Definition |
| Jurisdiction | US | Which country controls export |
| ECCN | None or EAR99 | An Export Control Classification Number (ECCN) is a five-character alphanumeric code used to categorize items on the Commerce Control List (CCL) for export control purposes.
Most database may fall into 5D992.c category, "mass market encryption", which means it has some ordinary encryption related code, for example, the SSL connection code. |
| Eligible License Exception / CCATS | Not required There is no ECCN for open source software | A License Exception is an authorization that allows you to export or reexport items subject to the EAR without needing to obtain a specific export license, provided certain conditions are met.
CCATS stands for Commodity Classification Automated Tracking System. The BIS assigns a CCATS number to products that it has classified under the Commerce Control List (CCL). |
| Encryption Components | SQLite Encryption Extension (SEE), SSL | Crypto functionality that triggers control |
Internal
Internal - Optimizer
Internal - Runtime
Internal - Storage Engine
| Feature | Value | Definition |
| ACID: durability mechanism | WAL | How is it implements durability. Database's classic way is write ahead logging (WAL). |