sql について
sqlは、SQLiteを扱う開発者向けのスキルガイドです。クエリ作成、スキーマ設計、マイグレーションに加え、Goコードでの利用方法や具体的な書式規則を扱います。
主な機能
- 01SQLクエリの作成と最適化
- 02SQLiteスキーマの設計
- 03データベース移行の作成
- 04SQLiteのベストプラクティス
- 05Goでのデータベース利用
活用シーン
- 01SQLiteクエリの作成
- 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_はテーブル名に応じたプレフィックスです。2 文字のプレフィックスでも構いません。各テーブルでプレフィックスが一意になるようにしてください) - 主キーの後には、次のような
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 対応