如何在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
相关产品推荐
相关产品推荐

