mcpField
S
sql

sql

github.com/maragudk数据与数据库4956 次安装31 周前更新
代码仓库

关于 sql

sql 是一项面向 SQLite 的技能指南,适合编写查询、设计架构或维护数据库迁移的开发者。内容还包括与 SQLite 交互的 Go 代码实践及具体格式约定。

主要功能

  1. 01编写与优化 SQL 查询
  2. 02设计 SQLite 数据库架构
  3. 03创建数据库迁移
  4. 04提供 SQLite 最佳实践
  5. 05涵盖 Go 数据库交互

适用场景

  1. 01编写 SQLite 查询
  2. 02检查或优化现有查询
  3. 03设计表结构与时间戳
  4. 04为数据库创建迁移

安装

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

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

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

详细介绍

SQL

概述

此技能提供使用 SQLite 数据库的指导,涵盖查询编写、模式设计和 SQLite 特有的最佳实践。

何时使用此技能

在以下情况下使用此技能:

  • 为 SQLite 数据库编写 SQL 查询
  • 分析或优化现有查询
  • 设计数据库模式
  • 创建数据库迁移
  • 编写与 SQLite 交互的 Go 代码

SQLite 最佳实践

查询编写
  • 始终使用小写编写查询。大写查询会让我难过。
  • 优先使用 select *,而不是显式列出列名
  • 优先使用 CTE,而不是冗长的嵌套子查询
模式设计
  • 始终使用 strict 表
  • 始终按以下格式编写时间戳:strftime('%Y-%m-%dT%H:%M:%fZ')
  • 修改时间也应使用 strftime
  • 通常以主键开头,主键通常按以下方式定义:id text primary key default ('p_' || lower(hex(randomblob(16))))(其中 p_ 是根据表名确定的前缀;也可以使用两个字母的前缀,以确保各表之间的前缀唯一)
  • 主键之后是 created/updated 列,格式如下:created text not null default (strftime('%Y-%m-%dT%H:%M:%fZ'))
  • 使用如下触发器自动更新更新时间戳:
    create trigger table_name_updated_timestamp after update on table_name begin
    update table_name set updated = strftime('%Y-%m-%dT%H:%M:%fZ') where id = old.id;
    end;
    

评论

支持 Markdown