SQLite 简介

SQLite 简介

SQLite 是一个开源的、轻量级的、零配置的嵌入式关系型数据库引擎。它以单个磁盘文件的形式存储整个数据库,无需运行数据库服务器进程,非常适合移动应用、桌面软件、物联网设备和嵌入式系统。


一、核心特点

特性说明
零配置无需安装、配置或管理服务器
单文件数据库所有数据(表、索引、视图等)存储在 一个 .db 文件
跨平台支持 Windows、macOS、Linux、iOS、Android
自包含核心库小于 500KB,运行时无需依赖
支持标准 SQL兼容 SQL-92 标准的大部分语法
事务完整性完全支持 ACID(原子性、一致性、隔离性、持久性)
高并发读允许多个进程同时读取
公域软件完全开源,可自由用于商业和个人项目

二、适用场景

适合不适合
移动端 App(iOS/Android)高并发 Web 后端(如电商平台)
桌面软件(如浏览器、聊天工具)大规模分布式系统
嵌入式设备(路由器、智能家居)需要复杂权限管理的企业系统
配置文件存储实时分析海量数据
日志系统、缓存每秒万级写操作

典型用户:Chrome、Firefox、Android、iOS、Python、PHP、Skype、Dropbox


三、与其他数据库对比

特性SQLiteMySQLPostgreSQL
类型嵌入式客户端/服务器客户端/服务器
配置零配置需要安装服务需要安装服务
并发写单个写锁支持高并发支持高并发
部署复制 .db 文件复杂部署复杂部署
体积< 500KB> 100MB> 100MB
复制文件复制主从复制流复制

四、核心概念

  1. 数据库 = 一个文件
   myapp.db  ← 包含所有表、索引、数据
  1. 无服务器进程
   // C语言直接链接库
   #include "sqlite3.h"
   sqlite3_open("data.db", &db);
  1. 动态类型系统(弱类型)
   CREATE TABLE t(x INTEGER);
   INSERT INTO t(x) VALUES ('hello');  -- 允许!但不推荐
  1. 内置全文搜索、JSON 支持
   -- JSON 函数(3.38+)
   SELECT json_extract(data, '$.name') FROM logs;

   -- 全文搜索
   CREATE VIRTUAL TABLE docs USING fts5(title, content);

五、快速上手(命令行)

# 1. 安装
sudo apt install sqlite3    # Linux
brew install sqlite         # macOS

# 2. 创建并进入数据库
sqlite3 demo.db

# 3. 在 SQLite 提示符中
sqlite> CREATE TABLE users(id INTEGER PRIMARY KEY, name TEXT);
sqlite> INSERT INTO users(name) VALUES ('张三');
sqlite> SELECT * FROM users;
1|张三
sqlite> .quit

六、为什么选择 SQLite?

轻量 + 可靠 + 简单 = 开发效率爆棚
  • 无需运维:开发者就是管理员
  • 版本控制友好.db 文件可 git 管理(小型数据)
  • 测试方便:单元测试中使用内存数据库 :memory:
  • 原生支持多种语言
  import sqlite3
  conn = sqlite3.connect(':memory:')

七、官方资源

  • 官网:https://www.sqlite.org
  • 文档:https://www.sqlite.org/docs.html
  • 下载:https://www.sqlite.org/download.html
  • 在线体验:https://sqlite.org/fiddle

总结

SQLite 不是“简化版”数据库,而是“专注嵌入式场景”的专业数据库。
它小而美,稳定运行在全球数十亿台设备上,是“看不见的英雄”。


想继续学习?
回复以下关键词获取对应教程:

  • 创建表 → 详细建表语法
  • Python SQLite → 完整 Python 示例
  • 性能优化 → 索引、PRAGMA、事务技巧
  • GUI工具 → 推荐可视化工具

现在就试试:

sqlite3 test.db "SELECT sqlite_version();"

看看你的 SQLite 版本吧!

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注