SQLite 使用文档
SQLite 是一个轻量级、嵌入式、零配置的 SQL 数据库引擎,广泛应用于桌面软件、移动应用、Web 服务以及物联网设备。
常用命令速查表
| 功能 | 命令 |
|---|---|
| 打开数据库 | sqlite3 mydb.db |
| 查看所有表 | .tables |
| 查看表结构 | .schema table_name |
| 导出 SQL | .dump > backup.sql |
| 导出 CSV | .mode csv + .output file.csv |
| 备份数据库 | .backup backup.db |
| 恢复数据库 | .restore backup.db |
| 退出命令行 | .quit |
一、简介
SQLite 是一个自包含的数据库引擎,不依赖服务器,也无需安装独立的数据库服务进程。数据库内容保存在单个文件中。
它支持大多数 SQL92 标准功能,包括事务、触发器、视图和索引。
二、安装与初始化
2.1 安装
Linux:
sudo apt-get install sqlite3 libsqlite3-devmacOS:
brew install sqliteWindows:
从 https://sqlite.org/download.html 下载预编译二进制包并解压,将 sqlite3.exe 添加到系统 PATH。
2.2 创建数据库
sqlite3 mydatabase.db以上命令将在当前目录下创建一个名为 mydatabase.db 的数据库文件,并进入交互模式。退出 SQLite:
.quit三、基本操作
3.1 创建表
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE,
age INTEGER,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);3.2 插入数据
INSERT INTO users (name, email, age) VALUES ('Alice', 'alice@example.com', 25);
INSERT INTO users (name, email, age) VALUES ('Bob', 'bob@example.com', 30);3.3 查询数据
SELECT * FROM users;
SELECT name, age FROM users WHERE age > 25 ORDER BY age DESC;3.4 更新数据
UPDATE users SET age = 28 WHERE name = 'Alice';3.5 删除数据
DELETE FROM users WHERE id = 1;四、数据库管理
4.1 查看所有表
.tables4.2 查看表结构
.schema users4.3 导出与导入数据
导出为 SQL 文件:
sqlite3 mydatabase.db .dump > backup.sql导入数据:
sqlite3 newdb.db < backup.sql导出为 CSV 文件:
sqlite3 mydatabase.db
.mode csv
.output users.csv
SELECT * FROM users;
.output stdout五、事务与约束
5.1 启动事务
BEGIN TRANSACTION;
UPDATE users SET age = age + 1;
COMMIT;5.2 回滚事务
ROLLBACK;5.3 常见约束
- PRIMARY KEY:主键唯一。
- UNIQUE:字段值不能重复。
- NOT NULL:不能为空。
- CHECK:自定义条件验证。
- FOREIGN KEY:外键约束。
六、索引与优化
6.1 创建索引
CREATE INDEX idx_users_email ON users(email);6.2 删除索引
DROP INDEX idx_users_email;6.3 性能建议
- 为常用查询条件添加索引。
- 尽量使用整数类型作为主键。
- 使用
EXPLAIN QUERY PLAN分析查询。
七、备份与恢复
7.1 命令行备份
sqlite3 mydatabase.db ".backup backup.db"7.2 恢复数据库
sqlite3 new.db ".restore backup.db"八、SQLite 与编程语言集成
8.1 Python 示例
import sqlite3
conn = sqlite3.connect("mydatabase.db")
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()8.2 Node.js 示例
import sqlite3 from 'sqlite3';
const db = new sqlite3.Database('mydatabase.db');
db.serialize(() => {
db.each("SELECT id, name FROM users", (err, row) => {
console.log(row.id + ": " + row.name);
});
});
db.close();九、参考资料
本文档适用于 SQLite 3.x 版本,适合开发、测试及嵌入式数据库场景使用。
微信电话同步?【——183-88909465—微电同号】?华纳公司客服联系方式?【6011643——183-88909465——-】、?华纳公司直属开户
华纳公司注册会员流程?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
如何成为华纳公司会员?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳直属会员开户步骤?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳公司会员注册指南?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳总公司会员申请?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳公司会员注册所需材料?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳会员开户流程?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳公司注册会员步骤?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳会员申请流程?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳公司会员注册指南?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】