### ‌**SQLite3 在线命令手册**‌ (更新至2025年3月) ------ #### ‌**一、安装与启动**‌ 1. ‌ Linux安装 ‌ ```sh sudo apt-get install sqlite3 libsqlite3-dev # 安装SQLite3及开发库 ‌:ml-citation{ref="1,2" data="citationList"} ``` 2. ‌ 验证版本 ‌ ```sqlite sqlite3 --version # 输出示例:3.43.0 ‌:ml-citation{ref="3,5" data="citationList"} ``` 3. ‌ 启动命令行 ‌ ```sqlite sqlite3 test.db # 创建或打开数据库文件 ‌:ml-citation{ref="3,4" data="citationList"} ``` ------ #### ‌**二、基本操作**‌ 1. ‌ 数据库信息查看 ‌ ```sqlite sqlCopy Code.databases -- 显示当前连接的数据库路径 ‌:ml-citation{ref="4,6" data="citationList"} .tables -- 列出所有表名 ‌:ml-citation{ref="3,4" data="citationList"} .schema [table] -- 显示表结构(无参数则显示所有表)‌:ml-citation{ref="4,5" data="citationList"} ``` 2. ‌ 退出命令行 ‌ ```sqlite .quit 或 .exit -- 退出SQLite3会话 ‌:ml-citation{ref="3,5" data="citationList"} ``` ------ #### ‌**三、数据库与表管理**‌ 1. ‌ 创建表 ‌ ```sqlite sqlCopy CodeCREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INTEGER CHECK(age > 0) ); -- 定义主键、非空、检查约束 ‌:ml-citation{ref="1,4" data="citationList"} ``` 2. ‌ 修改表结构 ‌ ```sqlite sqlCopy CodeALTER TABLE users ADD COLUMN email TEXT; -- 新增字段 ‌:ml-citation{ref="5" data="citationList"} DROP TABLE users; -- 删除表 ‌:ml-citation{ref="5" data="citationList"} ``` 3. ‌ 索引操作 ‌ ```sqlite sqlCopy CodeCREATE INDEX idx_name ON users(name); -- 创建索引 ‌:ml-citation{ref="5" data="citationList"} DROP INDEX idx_name; -- 删除索引 ‌:ml-citation{ref="5" data="citationList"} ``` ------ #### ‌**四、数据操作(CRUD)**‌ 1. ‌ 插入数据 ‌ ```sqlite INSERT INTO users (name, age) VALUES ('Alice', 30); -- 单条插入 ‌:ml-citation{ref="1,4" data="citationList"} ``` 2. ‌ 查询数据 ‌ ```sqlite sqlCopy CodeSELECT * FROM users WHERE age BETWEEN 20 AND 40; -- 条件查询 ‌:ml-citation{ref="4,5" data="citationList"} SELECT COUNT(*), AVG(age) FROM users; -- 聚合统计 ‌:ml-citation{ref="5" data="citationList"} ``` 3. ‌ 更新与删除 ‌ ```sqlite sqlCopy CodeUPDATE users SET age = 31 WHERE name = 'Alice'; -- 更新记录 ‌:ml-citation{ref="1,5" data="citationList"} DELETE FROM users WHERE age < 18; -- 删除记录 ‌:ml-citation{ref="1,5" data="citationList"} ``` ------ #### ‌**五、导入导出与备份**‌ 1. ‌ 导出数据 ‌ ```sqlite sqlCopy Code.dump > backup.sql -- 导出整个数据库为SQL脚本 ‌:ml-citation{ref="4,6" data="citationList"} .output data.csv -- 设置输出文件格式 ‌:ml-citation{ref="7" data="citationList"} SELECT * FROM users; -- 将查询结果导出到CSV ‌:ml-citation{ref="7" data="citationList"} ``` 2. ‌ 导入数据 ‌ ```sqlite bashCopy Code.import data.csv users -- 从CSV文件导入数据到表 ‌:ml-citation{ref="6,8" data="citationList"} sqlite3 new.db < backup.sql -- 从SQL脚本恢复数据库 ‌:ml-citation{ref="4" data="citationList"} ``` 3. ‌ 实时备份 ‌ ```sqlite .backup main backup.db -- 在线备份数据库 ‌:ml-citation{ref="6,8" data="citationList"} ``` ------ #### ‌**六、配置与显示优化**‌ 1. ‌ 输出格式设置 ‌ ```sqlite sqlCopy Code.mode column -- 列对齐显示(默认list模式)‌:ml-citation{ref="5,7" data="citationList"} .headers on -- 显示列标题 ‌:ml-citation{ref="5,7" data="citationList"} .separator ',' -- 设置分隔符为逗号(适用于CSV)‌:ml-citation{ref="5" data="citationList"} ``` 2. ‌ 性能优化 ‌ ```sqlite sqlCopy CodePRAGMA journal_mode = WAL; -- 启用预写日志模式提升并发性能 ‌:ml-citation{ref="2,4" data="citationList"} BEGIN TRANSACTION; -- 开启事务加速批量操作 ‌:ml-citation{ref="2,4" data="citationList"} ``` ------ #### ‌**七、帮助与调试**‌ ```sqlite sqlCopy Code.help -- 查看所有点命令帮助 ‌:ml-citation{ref="3,6" data="citationList"} .explain ON -- 显示查询执行计划 ‌:ml-citation{ref="6,8" data="citationList"} .timer on -- 显示查询耗时 ‌:ml-citation{ref="7" data="citationList"} ``` ------ ‌**手册说明**‌ - ‌**轻量级特性**‌:SQLite3为文件型数据库,无需服务端,支持跨平台嵌入 ‌26。 - ‌**事务支持**‌:遵循ACID特性,确保数据一致性 ‌24。 - ‌**扩展性**‌:可通过 `.load` 命令加载扩展库 ‌6。