Supabase の JavaScript クライアント(@supabase/supabase-js)を使ってデータベース操作を行う際によく使うメソッドを一覧で紹介します。
SQLと対応付けて覚えると理解がスムーズです!
🛠 データ操作
メソッド |
説明 |
使用例 |
.select() |
データ取得 |
.select('*') |
.insert([{ ... }]) |
データ追加 |
.insert([{ title: '新しいタスク' }]) |
.update({ ... }).eq('col', val) |
データ更新 |
.update({ title: '変更後' }).eq('id', 1) |
.delete().eq('col', val) |
データ削除 |
.delete().eq('id', 1) |
🎯 条件指定(WHERE句)
メソッド |
説明 |
対応するSQL |
使用例 |
.eq('col', val) |
等しい |
WHERE col = val |
.eq('id', 1) |
.neq('col', val) |
等しくない |
WHERE col != val |
.neq('status', 'done') |
.gt('col', val) |
より大きい |
WHERE col > val |
.gt('score', 80) |
.lt('col', val) |
より小さい |
WHERE col < val |
.lt('score', 50) |
.gte('col', val) |
以上 |
WHERE col >= val |
.gte('age', 18) |
.lte('col', val) |
以下 |
WHERE col <= val |
.lte('age', 65) |
.like('col', '%val%') |
部分一致 |
WHERE col LIKE |
.like('title', '%todo%') |
.ilike('col', '%val%') |
大文字小文字無視の部分一致 |
ILIKE |
.ilike('title', '%task%') |
.in('col', [a, b]) |
配列に含まれる |
WHERE col IN (...) |
.in('status', ['new', 'done']) |
📦 結果制御(ソート・件数・ページング)
メソッド |
説明 |
使用例 |
.order('col', { ascending: true }) |
昇順/降順ソート |
.order('created_at', { ascending: false }) |
.limit(n) |
取得件数を制限 |
.limit(10) |
.range(from, to) |
範囲指定(offset, limit) |
.range(0, 9) → 最初の10件を取得 |