关于 sql
sql 是一项面向 SQLite 的技能指南,适合编写查询、设计架构或维护数据库迁移的开发者。内容还包括与 SQLite 交互的 Go 代码实践及具体格式约定。
主要功能
- 01编写与优化 SQL 查询
- 02设计 SQLite 数据库架构
- 03创建数据库迁移
- 04提供 SQLite 最佳实践
- 05涵盖 Go 数据库交互
适用场景
- 01编写 SQLite 查询
- 02检查或优化现有查询
- 03设计表结构与时间戳
- 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