sqlite3
进入交互环境,通过.open 文件名
创建/打开数据库,用标准SQL语句(如CREATE TABLE
、SELECT
)操作数据,.tables
查看表结构,.exit
退出,支持导入/导出数据及执行外部SQL脚本。如何用命令操作 SQLite:详细入门指南
SQLite 是一个轻量级、零配置的关系型数据库,适用于嵌入式设备和本地应用,以下是通过命令行使用 SQLite 的完整流程,涵盖从安装到核心操作。
安装 SQLite
-
Windows
- 访问 SQLite 官网
- 下载
sqlite-tools-win32-*.zip
并解压 - 将解压目录添加到系统环境变量
PATH
- 验证安装:
sqlite3 --version
-
Linux/macOS
# Ubuntu/Debian sudo apt install sqlite3 # macOS (Homebrew) brew install sqlite3
基础命令操作
-
创建/打开数据库
sqlite3 mydatabase.db # 创建或打开数据库
-
创建表
CREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, email TEXT UNIQUE, created_at DATETIME DEFAULT CURRENT_TIMESTAMP );
-
插入数据
INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com');
-
查询数据
SELECT * FROM users; -- 查询所有数据 SELECT name FROM users WHERE id = 1; -- 条件查询
-
更新与删除
UPDATE users SET email = 'new@example.com' WHERE id = 1; -- 更新 DELETE FROM users WHERE id = 2; -- 删除
进阶操作
-
事务处理
BEGIN TRANSACTION; -- 开启事务 INSERT INTO users (name) VALUES ('李四'); COMMIT; -- 提交事务(或 ROLLBACK 回滚)
-
索引优化
CREATE INDEX idx_name ON users (name); -- 创建索引加速查询
-
导入/导出数据
# 导出整个数据库到 SQL 文件 sqlite3 mydatabase.db .dump > backup.sql # 从 SQL 文件导入 sqlite3 newdb.db < backup.sql
-
导出 CSV
.mode csv -- 设置输出模式为 CSV .output users.csv -- 指定输出文件 SELECT * FROM users; .output stdout -- 恢复输出到终端
常用快捷命令
命令 | 作用 |
---|---|
.tables |
显示所有表 |
.schema users |
查看表结构 |
.mode column |
表格化输出查询结果 |
.headers on |
显示列名 |
.quit |
退出 SQLite |
.help |
查看全部命令帮助 |
调试与优化技巧
-
查询计划分析
EXPLAIN QUERY PLAN SELECT * FROM users WHERE name = '张三';
输出结果展示索引使用情况,优化慢查询。
-
内存数据库(临时库)
sqlite3 :memory: # 创建内存数据库(退出后消失)
-
数据类型检查
SQLite 采用动态类型,建议规范使用:INTEGER
(整型)、TEXT
(字符串)、REAL
(浮点数)、BLOB
(二进制)
图形化工具推荐
- DB Browser for SQLite:可视化操作表和数据(官网下载)
- VS Code 插件:使用 SQLite 扩展直接管理数据库
SQLite 通过简单的命令行工具即可高效管理本地数据库,适合开发原型、移动应用和小型项目,关键优势包括:
- 零配置:无需服务器,单文件存储
- 跨平台:Windows/Linux/macOS 通用
- 兼容性:支持标准 SQL 语法
引用说明
- SQLite 官方文档:sqlite.org/docs.html
- 命令参考手册:sqlite.org/cli.html
- 数据类型说明:sqlite.org/datatype3.html
通过本指南,您已掌握 SQLite 的核心操作,实践时建议结合具体项目需求,逐步探索高级功能如触发器、视图等。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/21239.html