SQLite 的轻量数据库特性,适合本地开发和小型应用。不需要服务端,直接一个文件就能跑数据库,挺省事的。你只要装好命令行工具,像用记事本那样操作数据库都没问题,.open一下就进库了,查询结构用.schema,列表就用.tables,都直观。

安装配置也不复杂,Windows 用户直接下个可执行文件,Linux/macOS 的朋友用包管理器装一装就好了,命令行工具启动后输.help看看可用指令,挺友好的。

建库的方式也有点意思,SQLite 其实不靠CREATE DATABASE,你一建表它就自动搞定数据库文件了,比如下面这样:

CREATE TABLE IF NOT EXISTS users (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  email TEXT UNIQUE NOT NULL
);

写入、查询、更新这些操作用法都和 MySQL 差不多,基本上学过 SQL 的朋友一眼就明白:

INSERT INTO users (name, email) VALUES ('John Doe', 'john.doe@example.com');
SELECT * FROM users WHERE email = 'john.doe@example.com';
UPDATE users SET name = 'Jane Doe' WHERE email = 'john.doe@example.com';

数据类型比较宽松,支持TEXTINTEGERREALBLOB这几种,还有NOT NULLUNIQUE这些常规约束,日常用绰绰有余。

另外,SQLite 虽然小,但也不是简单货,像触发器、视图、甚至存储过程(通过自定义函数)都能玩,做些逻辑自动不在话下。

性能方面,如果你追求点效率,可以试试打开WAL 模式,尤其写操作多的时候,提升还是挺的。另外也可以调调cache size之类的配置,更进一步优化。

,SQLite 用起来就是轻、省心,还够用。如果你在做移动端 App、桌面小工具,或者想快速测试点数据逻辑,不妨试试看。对了,如果想了解更多细节,也可以看看这几个资源: