Agent Skills
返回列表
💻

SQLite 数据操作命令行工具

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/sqlite-utils-python-cli-sqlite-manipulation。

技能介绍

问题:SQLite 数据操作为何需要专用工具?

处理 SQLite 数据库时,开发者常面临两类痛点:一是异构数据导入效率低,JSON/CSV/TSV 文件需手动编写脚本或依赖图形化工具转换,管道式数据处理流程断裂;二是复杂查询与 schema 管理繁琐,内存查询依赖临时文件、全文搜索配置需手写 FTS 表结构、ALTER TABLE 无法直接修改列类型等限制,导致重复劳动和潜在错误。

核心能力与关键步骤

  • 数据管道直连:支持通过命令行管道直接导入 JSON/CSV/TSV 数据,例如 cat data.json | sqlite-utils insert my.db table,无需中间文件或手动建表,自动推断字段类型并批量插入。
  • 内存 SQL 查询:可直接对 CSV/TSV/JSON 文件执行内存 SQL 查询,支持多表 JOIN,例如 sqlite-utils query "SELECT a.id, b.content FROM a.csv AS a JOIN b.tsv AS b ON a.id = b.id",避免临时数据库文件。
  • 全文搜索配置:一键为数据库表启用 FTS 索引,例如 sqlite-utils enable-fts my.db articles content,自动创建影子表并按相关性排序搜索结果,减少手写 FTS 表结构的复杂性。
  • Schema 转换:解决 SQLite ALTER TABLE 无法直接修改列类型的限制,例如 sqlite-utils transform my.db articles ALTER COLUMN content TEXT,通过表重建和数据迁移实现复杂 schema 变更。

适用边界与注意点

  • SQLite 版本依赖:全文搜索需 SQLite 3.9+,transform 功能依赖 SQLite 3.25+ 的 ALTER TABLE 增强,需确保环境版本兼容。
  • 大表操作风险:transform 和 duplicate 操作涉及表重建,大表可能产生性能开销,建议在低峰期执行并提前备份。
  • 数据类型约束:导入 JSON 时自动推断的字段类型可能不符合预期,例如 "123" 可能被识别为 TEXT 而非 INTEGER,需通过 --detect-types 显式控制。

使用场景

  • 运营需将整理好的用户行为 CSV 批量导入 SQLite,并用 SQL 汇总各渠道活跃度。
  • 后端开发者要为历史日志表配置全文检索,按相关性搜索问题记录。
  • 数据分析师需直接对 CSV 与 TSV 执行内存 JOIN,快速核对跨表字段。
  • 工程师要调整 SQLite 表结构,把某列改成更合适的类型并保留数据。

适合人员

  • 后端工程师:希望用命令行完成 SQLite 数据导入与查询,减少脚本重复编写。
  • 数据工程师:需要快速把 JSON、CSV 数据落库并做跨表分析。
  • 运维工程师:负责日志与业务数据管理,要求直接配置全文检索和修改表结构。
  • 数据分析师:临时核对异构表格数据,希望不建库也能执行 SQL 查询。