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';
数据类型比较宽松,支持TEXT
、INTEGER
、REAL
、BLOB
这几种,还有NOT NULL
、UNIQUE
这些常规约束,日常用绰绰有余。
另外,SQLite 虽然小,但也不是简单货,像触发器、视图、甚至存储过程(通过自定义函数)都能玩,做些逻辑自动不在话下。
性能方面,如果你追求点效率,可以试试打开WAL 模式
,尤其写操作多的时候,提升还是挺的。另外也可以调调cache size
之类的配置,更进一步优化。
,SQLite 用起来就是轻、省心,还够用。如果你在做移动端 App、桌面小工具,或者想快速测试点数据逻辑,不妨试试看。对了,如果想了解更多细节,也可以看看这几个资源: