Loading...

Build your own SQLite

Learn about SQL syntax, SQLite's file format, B-trees and more

Start Building
sqlite
C#
sqlite
Go
sqlite
JavaScript
sqlite
Python
sqlite
Rust
sqlite
Zig
sqlite
Ruby
sqlite
C++
sqlite
Java
sqlite
Gleam
sqlite
C
sqlite
Kotlin
sqlite
TypeScript

SQLite is a popular SQL database engine. In this challenge, you'll build your own version of SQLite that is capable of reading a SQLite database file and answering basic SQL queries like SELECT and using indexes.

Along the way, you'll learn about the SQLite file format, SQL syntax and more.

Stages

Print page size
Login via GitHub to view this stage
Print number of tables
Login via GitHub to view this stage
Print table names
Login via GitHub to view this stage
Count rows in a table
Login via GitHub to view this stage
Read data from a single column
Login via GitHub to view this stage
Read data from multiple columns
Login via GitHub to view this stage
Filter data with a WHERE clause
Login via GitHub to view this stage
Retrieve data using a full-table scan
Login via GitHub to view this stage
Retrieve data using an index
Login via GitHub to view this stage