Logo 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

FeatureValueDefinition
introSQLite 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.
vendorSQLite Team
initial release2000
latested version3.5We don't put a release date here as the software is patching frequently. So tracking it is not much useful.
supported platformsAndroid, *BSD, iOS, Linux, Mac, Solaris, VxWorks, and Windowssupported OS/CPU platforms
db-engines ranking10ranks from https://db-engines.com/en/ranking (06/25)
relational?yesIs 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?yesmainly 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 offeringyesif no means you can't buy "box" software from them
cloud offering

None

It is mainly in embedded usage.
technical dochttps://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.

FeatureValueDefinition
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 nameint
int: 4-bytes int nameint
int: 8-bytes int nameint

SQL

FeatureValueDefinition
SQL: standard complaincemedium

Storage and System

FeatureValueDefinition
arch: serverEmbeddedEmbedded or traditional C/S?
arch: run in browser?yesIt 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: durabilityyes
Materialized View: support?no

Benchmarking

FeatureValueDefinition
any official TPC benchmarks?noThe TPC benchmark includes a set of tests simulating real-world scenarios to evaluate database performance.

Tools

FeatureValueDefinition
command line clientsqlite3it means "sql client" for database supporting SQL. For embedded atabase, the client includes the server together.

Export Regulations

FeatureValueDefinition
JurisdictionUSWhich country controls export
ECCNNone or EAR99An 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 ComponentsSQLite Encryption Extension (SEE), SSLCrypto functionality that triggers control

Internal

FeatureValueDefinition

Internal - Optimizer

FeatureValueDefinition

Internal - Runtime

FeatureValueDefinition

Internal - Storage Engine

FeatureValueDefinition
ACID: durability mechanismWALHow is it implements durability. Database's classic way is write ahead logging (WAL).