SQLite 是一种嵌入式数据库
是的!SQLite 是一种嵌入式数据库,可以理解为一个文件型数据库,非常适合本地简单部署,不需要像 MySQL 那样安装单独的数据库服务。以下是 SQLite 的核心特点(大白话版):
1. 无需 “服务器”,开箱即用
- MySQL:像一个 “中央厨房”,需要专门启动一个数据库服务(如
mysql.server start),多个客户端(如应用程序、Navicat)可以连接到这个服务。 - SQLite:像一个 “便携饭盒”,数据库就是一个文件(如
mydatabase.db),程序直接读写这个文件,不需要额外的服务。
举例:
你写一个 Python 脚本,直接用 SQLite 操作本地文件:
你写一个 Python 脚本,直接用 SQLite 操作本地文件:
python
运行
import sqlite3
# 连接到数据库文件(如果不存在会自动创建)
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
# 创建表、插入数据...
c.execute('CREATE TABLE users (id INT, name TEXT)')
c.execute('INSERT INTO users VALUES (1, "Alice")')
conn.commit()
2. 轻量级,适合小型项目
- SQLite 体积很小(几 MB),不需要配置,特别适合:
- 本地开发环境(如个人项目、测试)。
- 嵌入式设备(如手机应用、物联网设备)。
- 小型网站或工具(如博客、桌面应用)。
3. 局限性:不适合高并发场景
- 优势:简单、快速(读写本地文件)。
- 劣势:不支持多用户同时写操作(同一时间只能有一个程序修改数据库文件)。
适用场景:
✅ 个人笔记应用、本地数据存储。
✅ 单用户程序(如桌面工具)。
❌ 大型网站后端(并发访问会冲突)。
❌ 企业级应用(数据量大、需要权限管理)。
✅ 个人笔记应用、本地数据存储。
✅ 单用户程序(如桌面工具)。
❌ 大型网站后端(并发访问会冲突)。
❌ 企业级应用(数据量大、需要权限管理)。
4. 如何使用?
方法 1:直接用命令行工具
- 下载 SQLite 命令行工具(官网:https://www.sqlite.org/download.html)。
- 打开终端,进入数据库文件所在目录:
bash
# 创建或打开数据库文件 sqlite3 mydatabase.db # 执行 SQL 命令 sqlite> CREATE TABLE users (id INT, name TEXT); sqlite> .tables # 查看所有表 sqlite> .exit # 退出
方法 2:在代码中使用(以 Python 为例)
python
运行
import sqlite3
# 连接数据库
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
# 执行 SQL
c.execute('SELECT * FROM users')
print(c.fetchall()) # 打印结果
# 关闭连接
conn.close()
5. 与 MySQL 的对比
| 特性 | SQLite | MySQL |
|---|---|---|
| 部署方式 | 单个文件,无需服务 | 需要安装并启动服务 |
| 数据量上限 | 理论 140TB(实际更小) | 无明确限制 |
| 并发支持 | 单写多读 | 高并发(多用户同时读写) |
| 权限管理 | 无(文件级权限) | 复杂用户权限系统 |
| 适合场景 | 本地开发、小型项目 | 企业级应用、Web 后端 |
总结
如果你只是写个小工具、做个本地实验,或者开发一个单机应用,SQLite 是绝佳选择!它简单、轻量,无需额外配置,直接用文件就能存储数据。但如果涉及多人协作、高并发访问,还是得用 MySQL、PostgreSQL 等数据库服务。
除了Python,SQLite还可以在哪些编程语言中使用?
详细说明SQLite的事务处理机制。
对比SQLite和MySQL的安全性。

浙公网安备 33010602011771号