1. SQLite 是什么
这是什么:SQLite = 一个不需要装服务器软件的关系型数据库,整个数据库就是一个文件(如 learn.db),复制文件就是备份。
为什么用:MySQL 教程里我们装了 MySQL 服务、配了端口和密码——那是「正经服务器」的待遇。可写个小脚本、做个手机 App、搭个个人博客后台,为一两百条数据养一个数据库进程,太重了。SQLite 让你零安装就拥有全部 SQL 能力。
如何用:本章先认清它的长相和适用场景,从下一章开始上手连接与建表。
1.1 单文件数据库长什么样
同样是「数据库 = 库 → 表 → 行 → 列」,SQLite 把整棵树装进一个文件:
learn.db ← 整个数据库就是一个普通文件
├── user ← 表:用户
├── article ← 表:文章
└── comment ← 表:评论
- 没有服务进程:不像 MySQL 要先启动 mysqld 再连接,SQLite 由你的程序直接读写文件
- 复制即备份:把
learn.db拷一份,就是完整备份;删掉它,数据全没——记住这个「文件即库」的感觉 - 跨平台:Windows、Linux、macOS 上这个文件一模一样
1.2 SQLite 和 MySQL 怎么选
| 对比项 | SQLite | MySQL |
|---|---|---|
| 安装 | 无需安装,程序直接用 | 要装服务、配端口密码 |
| 数据形态 | 一个文件 | 服务进程管理的数据目录 |
| 并发写 | 同时一个写者 | 多连接并发写 |
| 适合 | 个人项目、App、博客后台、练习 | 多人系统、高并发网站 |
| SQL 语法 | 与 MySQL 大同小异 | —— |
一句话:学 SQL 用哪边都一样,本教程讲差异点;小项目落地用 SQLite 最省心。
1.3 谁在用 SQLite
它号称世界上部署最广的数据库:
- 手机 App:微信、各类应用的本地数据
- 浏览器:Chrome 的部分内部存储
- 本站后台:青蛙编程网的管理后台(
server/)用的就是 SQLite - Python:标准库
sqlite3模块自带,装好 Python 就有
1.4 动手改
不用装任何东西,先做概念判断题:
- 把
learn.db重命名为backup.db,数据库坏了吗?(没有,改名而已) - SQLite 和 MySQL 的 SQL 语句大部分通用吗?(通用,这正是先学 MySQL 的价值)
- 1000 人同时往一张表写数据,适合用 SQLite 吗?(不适合,这是 MySQL 的主场)
1.5 小结
- SQLite = 单文件、零安装的关系型数据库
- 和 MySQL 语法大同小异,差异点后面逐章点名
- 小项目、App、博客后台选它;高并发大系统选 MySQL
下一章:安装与连接 🐸