SQLite 介绍及使用

一、基础简介

SQLite 是一款轻量级、文件型、零‑配置、嵌入式关系型数据库,由 C 语言编写。
区别于 MySQL、PostgreSQL 这类需要单独安装、启动服务、监听端口的数据库;
SQLite 本质就是一个磁盘上单独的 .db 文件,不需要数据库服务进程,直接读写本地文件。

通俗总结:单文件数据库,开箱即用,不需要安装服务。

核心特点

  1. 无服务端:没有后台进程,程序直接读写数据库文件
  2. 单文件存储:全部数据表、索引、视图存在一个后缀 .db 文件,方便拷贝、备份、迁移
  3. 零配置:不用创建账号、开启端口、配置权限
  4. 跨平台:Windows、Linux、macOS、安卓、iOS 全部支持
  5. 支持标准 SQL:增删改查、事务、索引、外键、触发器
  6. 占用资源极低,适合嵌入式设备、本地软件、小型项目

二、常见适用场景

适合使用

  1. 移动端 APP 本地缓存(安卓、iOS 本地数据库默认就是 SQLite)
  2. Python 本地工具、爬虫程序、小型脚本存储数据
  3. Hexo、本地笔记软件、浏览器(Chrome/Firefox)历史记录、Cookie 底层数据库
  4. 单机桌面软件、小型工具、本地知识库
  5. 测试环境、小型网站低并发数据存储

不适合

  1. 高并发多人同时写入(没有并发服务,写操作会加锁阻塞)
  2. 大型网站、后端服务、上万 QPS 业务系统(选用 MySQL / PostgreSQL)

三、基础数据类型

SQLite 只有 5 种基础存储类型

  • NULL 空值
  • INTEGER 整数
  • REAL 浮点数
  • TEXT 字符串文本
  • BLOB 二进制字节(图片、文件二进制)

特色:动态类型,字段声明 int 也可以存放字符串,不会强制类型约束

四、Python 使用 SQLite(内置库,无需额外安装)

python 标准库自带 sqlite3,直接导入即可,不用 pip 安装。

基础示例

import sqlite3

# 1.连接数据库,文件不存在则自动新建 test.db
conn = sqlite3.connect("test.db")
cursor = conn.cursor()

# 2.建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS user(
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT,
    age INTEGER
)
''')

# 3.插入单条数据
cursor.execute("INSERT INTO user(name,age) VALUES (?,?)", ("张三",22))

# 4.批量插入
data = [("李四",18),("王五",30)]
cursor.executemany("INSERT INTO user(name,age) VALUES (?,?)",data)

# 提交事务,sqlite修改数据必须commit保存
conn.commit()

# 5.查询
cursor.execute("SELECT * FROM user")
print(cursor.fetchall())

# 关闭连接
cursor.close()
conn.close()

五、常用 SQL 语句

-- 创建表
CREATE TABLE book(id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT);

-- 新增
INSERT INTO book(name) VALUES ('python入门');

-- 查询
SELECT * FROM book;

-- 更新
UPDATE book SET name='sqlite教程' WHERE id=1;

-- 删除
DELETE FROM book WHERE id=1;

-- 创建索引
CREATE INDEX idx_book_name ON book(name);

六、优缺点

优点

  1. 单文件,备份只需要复制 .db 文件
  2. 无需安装、启动服务,Python 开箱即用
  3. 体积极小、占用内存低
  4. 跨平台兼容,几乎所有编程语言都支持

缺点

  1. 文件锁机制,并发写入性能差,多人同时写入会排队阻塞
  2. 没有用户账号、权限管理,依靠操作系统文件权限管控
  3. 不适合大型高并发线上业务
  4. 大数据量上千万条之后读写速度会明显下降

七、和 MySQL 简单对比

项目 SQLite MySQL
运行方式 文件、无服务进程 独立数据库服务,监听端口
存储 单个 db 文件 多个数据文件
部署 零配置 需要安装、启动、配置账号
并发写入 弱,文件锁 支持高并发
适用场景 本地程序、移动端、脚本工具 网站后端、线上业务

八、日常开发小技巧

  1. 数据库文件不要放在项目缓存目录,备份好 .db 文件
  2. 频繁查询的字段建立索引,提升查询速度
  3. 大量修改数据一定要使用事务 commit(),否则不会保存
  4. 爬虫、RAG 本地知识库非常适合使用 SQLite 存储向量元数据、网页数据

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:SQLite 介绍及使用

本文作者:伟生

发布时间:2026-08-15, 22:04:11

最后更新:2026-08-15, 22:11:35

原始链接:http://yoursite.com/2026/08/15/db_05_sqlite/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏