跳转至

第一章:SQLite 简介

什么是 SQLite?

SQLite 是一个轻量级的嵌入式关系数据库,无需独立服务器进程。

┌─────────────────────────────────────────────────────────────┐
│                    SQLite 架构                               │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                   应用程序                           │   │
│  │  ┌───────────┐ ┌───────────┐ ┌───────────┐         │   │
│  │  │ Python    │ │ Java      │ │ Node.js   │         │   │
│  │  └───────────┘ └───────────┘ └───────────┘         │   │
│  └─────────────────────────────────────────────────────┘   │
│                           │                                 │
│                           ▼                                 │
│  ┌─────────────────────────────────────────────────────┐   │
│  │               SQLite 库                              │   │
│  │  ┌───────────────────────────────────────────────┐ │   │
│  │  │  SQL 解析器 → 查询优化器 → 虚拟机             │ │   │
│  │  └───────────────────────────────────────────────┘ │   │
│  └─────────────────────────────────────────────────────┘   │
│                           │                                 │
│                           ▼                                 │
│  ┌─────────────────────────────────────────────────────┐   │
│  │               数据文件 (*.db)                        │   │
│  │  ┌───────────────────────────────────────────────┐ │   │
│  │  │  单文件存储所有数据                            │ │   │
│  │  └───────────────────────────────────────────────┘ │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

特点

优点

SQLite 优点:
- 零配置:无需安装和配置
- 无服务器:无需独立进程
- 单文件:所有数据存储在一个文件
- 跨平台:支持所有主流操作系统
- 轻量级:库大小约 500KB
- 可靠:ACID 事务支持

缺点

SQLite 缺点:
- 不适合高并发写入
- 不支持客户端/服务器架构
- 不适合大规模数据
- 网络访问需要额外封装

安装

命令行工具

# Ubuntu/Debian
sudo apt-get install sqlite3

# macOS
brew install sqlite

# Windows
# 下载预编译二进制文件

Python 集成

# Python 内置支持
import sqlite3

# 连接数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# 创建表
cursor.execute('''
    CREATE TABLE users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        email TEXT UNIQUE
    )
''')

# 提交事务
conn.commit()

# 关闭连接
conn.close()

基本命令

# 打开数据库
sqlite3 example.db

# SQLite 命令
.tables          # 显示所有表
.schema users    # 显示表结构
.headers on      # 显示列名
.mode column     # 列模式显示
.quit            # 退出

小结

SQLite 基础概念:

  • 特点:轻量级、无服务器、单文件
  • 优点:零配置、跨平台、ACID 支持
  • 缺点:不适合高并发、大规模数据
  • 安装:sqlite3 命令行、Python 内置

下一章我们将学习数据类型。