---
title: "Rust SQLite"
slug: rust-sqlite
canonical_url: https://blog.youngoing.cn/posts/rust-sqlite/
collection: todo
published_at: 2026-09-07T00:00:00.000Z
updated_at: 2026-09-09T00:00:00.000Z
tags: []
author: youngo
---

## Navigation Context

- Canonical URL: https://blog.youngoing.cn/posts/rust-sqlite/
- You are here: Home > Posts > todo > Rust SQLite

### Useful Next Links
- [Home](https://blog.youngoing.cn/)
- [rust](https://blog.youngoing.cn/collections/rust/)
- [todo](https://blog.youngoing.cn/collections/todo/)
- [技术](https://blog.youngoing.cn/collections/%E6%8A%80%E6%9C%AF/)
- [测试](https://blog.youngoing.cn/collections/%E6%B5%8B%E8%AF%95/)

## Rust SQLite

### 01\. SQLite 基础

⬜

了解 SQLite 整体架构

⬜

了解 SQLite 数据库文件格式

⬜

了解 Page / B-Tree / Pager

⬜

阅读 SQLite 官方文档

⬜

阅读 SQLite 源码结构

### 02\. Storage

⬜

实现 Database File

⬜

实现 Page

⬜

实现 Pager

⬜

实现 Page Cache

⬜

实现磁盘读写

⬜

实现数据库文件初始化

### 03\. Record

⬜

设计 Row

⬜

设计 Column

⬜

实现 INTEGER

⬜

实现 REAL

⬜

实现 TEXT

⬜

实现 BLOB

⬜

实现 NULL

⬜

实现 Row Serialization

⬜

实现 Row Deserialization

### 04\. B-Tree

⬜

实现 B-Tree

⬜

实现 Node

⬜

实现 Leaf Node

⬜

实现 Interior Node

⬜

实现 Search

⬜

实现 Insert

⬜

实现 Delete

⬜

实现 Node Split

⬜

实现 Node Merge

⬜

实现 B-Tree Persistence

### 05\. Table

⬜

实现 Table

⬜

实现 Schema

⬜

实现 Column Definition

⬜

实现 Primary Key

⬜

实现 Table Scan

⬜

实现 Row Insert

⬜

实现 Row Delete

⬜

实现 Row Update

### 06\. SQL Lexer

⬜

实现 Token

⬜

实现 Keyword

⬜

实现 Identifier

⬜

实现 Number

⬜

实现 String

⬜

实现 Operator

⬜

实现 Lexer

### 07\. SQL Parser

⬜

实现 AST

⬜

CREATE TABLE

⬜

INSERT

⬜

SELECT

⬜

UPDATE

⬜

DELETE

⬜

WHERE

⬜

ORDER BY

⬜

LIMIT

⬜

Expression

⬜

Comparison

⬜

AND / OR

### 08\. Query Engine

⬜

实现 Query Executor

⬜

实现 Projection

⬜

实现 Filter

⬜

实现 Table Scan

⬜

实现 Index Scan

⬜

实现 Expression Evaluation

⬜

实现 Query Planner

⬜

实现简单优化

### 09\. Index

⬜

实现 Index

⬜

B-Tree Index

⬜

CREATE INDEX

⬜

Index Insert

⬜

Index Delete

⬜

Index Lookup

⬜

使用 Index 优化 SELECT

### 10\. Transaction

⬜

实现 Transaction

⬜

BEGIN

⬜

COMMIT

⬜

ROLLBACK

⬜

实现 WAL

⬜

Crash Recovery

⬜

Checkpoint

⬜

Atomic Commit

### 11\. Concurrency

⬜

Concurrent Read

⬜

Concurrent Write

⬜

Lock

⬜

Reader / Writer

⬜

Transaction Isolation

⬜

MVCC 基础

### 12\. SQLite 兼容性

⬜

支持常用 SQLite SQL

⬜

对比 SQLite 查询结果

⬜

对比 SQLite 数据库文件

⬜

SQLite Test Suite

⬜

Benchmark

⬜

Compatibility Test

### 13\. Rust API

⬜

设计 Database API

⬜

设计 Connection API

⬜

设计 Statement API

⬜

设计 Row API

⬜

设计 Transaction API

⬜

参数绑定

⬜

Error API

### 14\. CLI

⬜

实现数据库 CLI

⬜

SQL REPL

⬜

.open

⬜

.tables

⬜

.schema

⬜

.help

⬜

.quit

### 15\. 完成

⬜

Mini SQLite

⬜

Benchmark

⬜

单元测试

⬜

集成测试

⬜

Crash Recovery 测试

⬜

并发测试

⬜

编写技术总结

⬜

阅读 SQLite 核心源码

⬜

对比自己的实现与 SQLite