第一章:SQLite 简介¶
什么是 SQLite?¶
SQLite 是一个轻量级的嵌入式关系数据库,无需独立服务器进程。
┌─────────────────────────────────────────────────────────────┐
│ SQLite 架构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 应用程序 │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │ Python │ │ Java │ │ Node.js │ │ │
│ │ └───────────┘ └───────────┘ └───────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ SQLite 库 │ │
│ │ ┌───────────────────────────────────────────────┐ │ │
│ │ │ SQL 解析器 → 查询优化器 → 虚拟机 │ │ │
│ │ └───────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 数据文件 (*.db) │ │
│ │ ┌───────────────────────────────────────────────┐ │ │
│ │ │ 单文件存储所有数据 │ │ │
│ │ └───────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
特点¶
优点¶
SQLite 优点:
- 零配置:无需安装和配置
- 无服务器:无需独立进程
- 单文件:所有数据存储在一个文件
- 跨平台:支持所有主流操作系统
- 轻量级:库大小约 500KB
- 可靠:ACID 事务支持
缺点¶
安装¶
命令行工具¶
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 内置
下一章我们将学习数据类型。