prisma-client-api
Prisma ClientのAPIリファレンスで、モデルクエリ・フィルター・演算子・クライアントメソッドを網羅。データベースクエリの記述、CRUD操作、データの絞り込み、Prisma Clientの設定時に活用。「prisma query」「findMany」「create」「update」「delete」「$transaction」などのキーワードで起動します。
description の原文を見る
Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".
SKILL.md 本文
Prisma Client API リファレンス
Prisma Client の完全な API リファレンス。このスキルは、現在のプロジェクトで使用するモデルクエリ、フィルタリング、リレーション、クライアントメソッドに関するガイダンスを提供します。
適用対象
次のような場合にこのスキルを参照してください:
- Prisma Client でデータベースクエリを作成する
- CRUD 操作 (作成、読取、更新、削除) を実行する
- データをフィルタリングおよびソートする
- リレーションを操作する
- トランザクションを使用する
- クライアントオプションを構成する
ルールカテゴリ (優先度別)
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | クライアント構築 | 高 | constructor |
| 2 | モデルクエリ | 重大 | model-queries |
| 3 | クエリ形状 | 高 | query-options |
| 4 | フィルタリング | 高 | filters |
| 5 | リレーション | 高 | relations |
| 6 | トランザクション | 重大 | transactions |
| 7 | Raw SQL | 重大 | raw-queries |
| 8 | クライアントメソッド | 中 | client-methods |
クイックリファレンス
constructor-PrismaClientの設定、アダプタの接続、ログ記録、SQL commenter プラグインmodel-queries- CRUD 操作とバルク操作query-options-select、include、omit、ソート、ページネーションfilters- スカラーおよび論理フィルタオペレータrelations- リレーション読取とネストされた書込transactions- 配列および対話型トランザクションパターンraw-queries-$queryRawと$executeRawのセーフティclient-methods- ライフサイクルメソッド、エクステンション、およびprisma-clientのsatisfiesパターン
クライアントのインスタンス化
import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'
const adapter = new PrismaPg({
connectionString: process.env.DATABASE_URL
})
const prisma = new PrismaClient({ adapter })
モデルクエリメソッド
| メソッド | 説明 |
|---|---|
findUnique() | ユニークフィールドで 1 件のレコードを検索 |
findUniqueOrThrow() | 1 件を検索するか、エラーをスロー |
findFirst() | マッチする最初のレコードを検索 |
findFirstOrThrow() | 最初のレコードを検索するか、エラーをスロー |
findMany() | 複数のレコードを検索 |
create() | 新しいレコードを作成 |
createMany() | 複数のレコードを作成 |
createManyAndReturn() | 複数を作成して返す |
update() | 1 件のレコードを更新 |
updateMany() | 複数のレコードを更新 |
updateManyAndReturn() | 複数を更新して返す |
upsert() | レコードを更新または作成 |
delete() | 1 件のレコードを削除 |
deleteMany() | 複数のレコードを削除 |
count() | マッチするレコードをカウント |
aggregate() | 値を集計 (合計、平均など) |
groupBy() | グループ化と集計 |
クエリオプション
| オプション | 説明 |
|---|---|
where | フィルタ条件 |
select | 含めるフィールド |
include | 読み込むリレーション |
omit | 除外するフィールド |
orderBy | ソート順序 |
take | 結果数の制限 |
skip | 結果をスキップ (ページネーション) |
cursor | カーソルベースのページネーション |
distinct | ユニークな値のみ |
クライアントメソッド
| メソッド | 説明 |
|---|---|
$connect() | データベースに明示的に接続 |
$disconnect() | データベースから切断 |
$transaction() | トランザクションを実行 |
$queryRaw() | Raw SQL クエリを実行 |
$executeRaw() | Raw SQL コマンドを実行 |
$on() | イベントをサブスクライブ |
$extends() | エクステンションを追加 |
クイック例
レコードを検索
// ユニークフィールドで検索
const user = await prisma.user.findUnique({
where: { email: 'alice@prisma.io' }
})
// フィルタで検索
const users = await prisma.user.findMany({
where: { role: 'ADMIN' },
orderBy: { createdAt: 'desc' },
take: 10
})
レコードを作成
const user = await prisma.user.create({
data: {
email: 'alice@prisma.io',
name: 'Alice',
posts: {
create: { title: 'Hello World' }
}
},
include: { posts: true }
})
レコードを更新
const user = await prisma.user.update({
where: { id: 1 },
data: { name: 'Alice Smith' }
})
レコードを削除
await prisma.user.delete({
where: { id: 1 }
})
トランザクション
const [user, post] = await prisma.$transaction([
prisma.user.create({ data: { email: 'alice@prisma.io' } }),
prisma.post.create({ data: { title: 'Hello', authorId: 1 } })
])
ルールファイル
詳細な API ドキュメント:
references/constructor.md - PrismaClient コンストラクタオプション
references/model-queries.md - CRUD 操作
references/query-options.md - select、include、omit、where、orderBy
references/filters.md - フィルタ条件とオペレータ
references/relations.md - リレーションクエリとネストされた操作
references/transactions.md - トランザクション API
references/raw-queries.md - $queryRaw、$executeRaw
references/client-methods.md - $connect、$disconnect、$on、$extends
フィルタオペレータ
| オペレータ | 説明 |
|---|---|
equals | 完全一致 |
not | 等しくない |
in | 配列内 |
notIn | 配列内ではない |
lt、lte | より小さい |
gt、gte | より大きい |
contains | 文字列に含む |
startsWith | 文字列で開始 |
endsWith | 文字列で終了 |
mode | 大文字と小文字の区別 |
リレーションフィルタ
| オペレータ | 説明 |
|---|---|
some | 少なくとも 1 つの関連レコードがマッチ |
every | すべての関連レコードがマッチ |
none | 関連レコードがマッチしない |
is | 関連レコードがマッチ (1対1) |
isNot | 関連レコードがマッチしない |
リソース
使用方法
上の表からカテゴリを選択し、実装の詳細と例を確認するために対応するリファレンスファイルを開いてください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- prisma
- リポジトリ
- prisma/skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/prisma/skills / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。