SQLite 数据库简介
SQLite 数据库简介
SQLite 是一款轻量级的关系型数据库,无需服务器配置,支持零配置运行。它以文件形式存储数据,适用于嵌入式设备、移动应用和小型项目。SQLite 支持标准的 SQL 语法,兼容 ACID 事务特性。
安装 SQLite
Windows:
- 访问 SQLite 官网 下载预编译的二进制文件(如
sqlite-tools-win32-*.zip
)。 - 解压后,将
sqlite3.exe
添加到系统环境变量。
Linux/macOS:
通过包管理器安装:
# Ubuntu/Debian
sudo apt install sqlite3# macOS(需安装 Homebrew)
brew install sqlite3
基本操作
创建或打开数据库
sqlite3 test.db
此命令会打开或创建名为 test.db
的数据库文件。
创建表
CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,email TEXT UNIQUE,age INTEGER DEFAULT 18
);
插入数据
INSERT INTO users (name, email, age) VALUES ('Alice', 'alice@example.com', 25);
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
查询数据
-- 查询所有字段
SELECT * FROM users;-- 条件查询
SELECT name, email FROM users WHERE age > 20;
更新数据
UPDATE users SET age = 30 WHERE name = 'Alice';
删除数据
DELETE FROM users WHERE id = 2;
高级功能
事务处理
BEGIN TRANSACTION;
INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@example.com');
COMMIT; -- 或 ROLLBACK 回滚
索引优化
-- 创建索引
CREATE INDEX idx_email ON users(email);-- 删除索引
DROP INDEX idx_email;
联合查询
-- 内连接示例
SELECT u.name, o.order_id
FROM users u
JOIN orders o ON u.id = o.user_id;
导出与导入数据
导出为 SQL 文件
sqlite3 test.db .dump > backup.sql
导入 SQL 文件
sqlite3 new.db < backup.sql
导出为 CSV
.mode csv
.headers on
.output users.csv
SELECT * FROM users;
.output stdout
常见问题
- 数据类型限制:SQLite 仅有 5 种基本类型(
NULL
、INTEGER
、REAL
、TEXT
、BLOB
),但支持动态类型。 - 并发访问:SQLite 的写操作会锁定整个数据库,不适合高并发场景。
- 大小限制:默认支持单文件最大 140TB,但实际受文件系统限制。
学习资源
- 官方文档
- 交互式练习:SQLite Online
- 书籍:《SQLite 权威指南》(The Definitive Guide to SQLite)
通过以上内容,可以快速掌握 SQLite 的核心操作和实际应用场景。