SuperAPI AI 工具集

sql-insight

数据与分析

查看项目

更新于 10-16 02:32

技能介绍

用途:sql-insight 是面向 SQLite 与 PostgreSQL 的 SQL 查询助手,可提取数据库结构、将自然语言转成 SQL、检测 SQL 反模式并解读 EXPLAIN 执行计划。

主要能力:schema 命令提取表结构(列、类型、索引、外键、样本数据),支持 compact 模式便于嵌入提示词;optimize 命令基于 13 条规则检测 SQL 反模式并给出建议,无需数据库连接;explain 命令运行并解读执行计划,识别全表扫描、缺失索引,PostgreSQL 还支持 EXPLAIN ANALYZE。

使用方式:全局参数含 --db-type(sqlite/postgres)、--db-path、--dsn。子命令包括 schema、optimize <sql>、explain <sql>;schema 支持 --sample-rows 与 --compact,explain 支持 --analyze(仅 PostgreSQL)。示例:python3 scripts/sql_query_helper.py --db-path data.db schema --compact

python3 scripts/sql_query_helper.py optimize "SELECT * FROM orders WHERE user_id = 100"

python3 scripts/sql_query_helper.py --db-path data.db explain "SELECT * FROM orders WHERE user_id = 100"

适用场景:需要快速了解数据库结构、生成或审查 SQL、排查慢查询与索引缺失时使用。

限制与安全:只读连接(SQLite ?mode=ro,PostgreSQL SET SESSION READ ONLY);SQL 白名单仅允许 SELECT/WITH/EXPLAIN 开头;阻止 INSERT、UPDATE、DELETE、DROP 等 30 多个关键字;禁止多语句;标识符双引号转义。依赖 Python 3.8+,PostgreSQL 需 pip install psycopg2-binary,optimize 命令无外部依赖。价格、平台与更多效果暂未提供。