mcpField
S
spacetimedb-sql

spacetimedb-sql

github.com/danmossa数据与数据库2164 次安装19 周前更新
代码仓库

关于 spacetimedb-sql

介绍 SpacetimeDB SQL 语法与查询行为的技能,区分订阅限制与临时查询和数据变更,并提供索引及联接方面的指导。

主要功能

  1. 01订阅 SQL 的限制
  2. 02临时 SELECT 与 DML 语句
  3. 03标识符和字面值语法
  4. 04索引与联接建议

适用场景

  1. 01编写有效的表订阅语句
  2. 02构造 SQL 查询和数据修改
  3. 03检查订阅联接所需的索引

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/danmossa/spacetimedb-skills --skill spacetimedb-sql

安装后在 Claude Code 中输入/spacetimedb-sql确认已加载。

附带文件references/reference-sql.md

详细介绍

将此技能用于 SQL 语法和查询行为。

SQL 的核心区别

订阅 SQL 比临时查询/DML SQL 更严格:

  • 订阅形式为 SELECT projection FROM relation [WHERE predicate]。
  • 订阅仅返回单个表的完整行:SELECT * 或 SELECT table.*。
  • 订阅最多可引用两个表,且只能进行一次连接;连接列必须建立索引。
  • 订阅不支持 INSERT、UPDATE、DELETE、列投影、算术表达式或任意连接。

通过 CLI/HTTP 执行的临时 SQL 支持:

  • 使用列投影、COUNT(*)、连接、WHERE 和 LIMIT 的 SELECT。
  • INSERT INTO table (columns...) VALUES (...)。
  • DELETE FROM table [WHERE ...];不支持连接。
  • UPDATE table SET column = literal [WHERE ...];不支持连接。
  • 实验性的 SET 和 SHOW 系统变量语句。

查询指南

  • SQL 中的表名必须使用架构中的确切表名,而不是生成的访问器名称。
  • 字符串字面量使用单引号。标识符区分大小写;保留字或特殊名称需使用双引号括起来。
  • 在上下文类型已知时,十六进制字面量可表示身份、连接 ID 或二进制值。
  • 为筛选列和连接列建立索引,订阅场景尤其如此。
  • 在连接较多的临时查询中,将筛选效果最显著的表/筛选条件放在前面。

参考索引

需求打开
SpacetimeDB SQL 参考references/reference-sql.md

指南

  • 解释允许的形式时,区分订阅 SQL 与变更/查询 SQL。
  • 建议进行查询性能优化前,先检查表和索引的定义。
  • CLI 执行详情请参阅 spacetimedb-cli。

评论

支持 Markdown