You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Supabase PostgreSQL中执行自定义查询?附具体SQL示例

在Supabase PostgreSQL中执行自定义查询

一、通过Supabase Web控制台执行

  • 登录Supabase控制台并进入目标项目
  • 左侧菜单选择SQL编辑器
  • 将自定义SQL粘贴到编辑框,点击运行即可查看结果。你可以直接使用以下查询:
    SELECT Words.word, COUNT(audios.id) AS count
    FROM Words 
    LEFT OUTER JOIN audios ON audios.word_id = words.id
    GROUP BY words.id ORDER BY count DESC;
    
  • 还能点击保存按钮将查询存档,方便后续快速调用。

二、通过JavaScript/TypeScript客户端执行

先确保已初始化Supabase客户端:

import { createClient } from '@supabase/supabase-js'

const supabase = createClient('你的项目URL', '你的Anon密钥')

使用sql方法直接执行自定义查询:

async function fetchWordAudioCounts() {
  const { data, error } = await supabase.sql`
    SELECT Words.word, COUNT(audios.id) AS count
    FROM Words 
    LEFT OUTER JOIN audios ON audios.word_id = words.id
    GROUP BY words.id ORDER BY count DESC;
  `

  if (error) {
    console.error('查询失败:', error)
    return
  }
  console.log('结果:', data)
  return data
}

// 调用函数
fetchWordAudioCounts()

三、通过Python客户端执行

先安装Supabase Python库:

pip install supabase

初始化客户端并执行查询:

from supabase import create_client

supabase = create_client('你的项目URL', '你的Anon密钥')

def get_word_audio_counts():
    try:
        result = supabase.sql("""
            SELECT Words.word, COUNT(audios.id) AS count
            FROM Words 
            LEFT OUTER JOIN audios ON audios.word_id = words.id
            GROUP BY words.id ORDER BY count DESC;
        """).execute()
        print('查询结果:', result.data)
        return result.data
    except Exception as e:
        print('查询出错:', e)

# 调用函数
get_word_audio_counts()

注意事项

  • 确保你的Anon密钥拥有Words和audios表的读取权限(可在控制台的认证-策略中配置)
  • 服务端密钥权限更高,但禁止在前端代码中暴露服务端密钥

内容的提问来源于stack exchange,提问作者Ahmad Khalafalla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 08:55:22