0
0
Supabasecloud~5 mins

Inserting and querying data in Supabase

Choose your learning style9 modes available
Introduction

We insert data to save new information. We query data to find and use saved information.

You want to save a new user's details in your app.
You need to show a list of products from your database.
You want to update a dashboard with the latest sales data.
You want to find a specific record by its ID.
You want to check all entries made today.
Syntax
Supabase
const { data, error } = await supabase
  .from('table_name')
  .insert([{ column1: 'value1', column2: 'value2' }])

const { data, error } = await supabase
  .from('table_name')
  .select('*')
  .eq('column1', 'value1')

Use insert to add new rows to a table.

Use select to get rows. Use filters like eq to find specific rows.

Examples
Insert a new user named Alice who is 30 years old.
Supabase
await supabase
  .from('users')
  .insert([{ name: 'Alice', age: 30 }])
Get all users from the users table.
Supabase
await supabase
  .from('users')
  .select('*')
Get users whose name is Alice.
Supabase
await supabase
  .from('users')
  .select('*')
  .eq('name', 'Alice')
Sample Program

This program inserts a user named Bob, then queries all users named Bob and prints both results.

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

const supabaseUrl = 'https://xyzcompany.supabase.co'
const supabaseKey = 'public-anonymous-key'
const supabase = createClient(supabaseUrl, supabaseKey)

async function run() {
  // Insert a new user
  const { data: insertData, error: insertError } = await supabase
    .from('users')
    .insert([{ name: 'Bob', age: 25 }])

  if (insertError) {
    console.error('Insert error:', insertError.message)
    return
  }

  console.log('Inserted data:', insertData)

  // Query users named Bob
  const { data: queryData, error: queryError } = await supabase
    .from('users')
    .select('*')
    .eq('name', 'Bob')

  if (queryError) {
    console.error('Query error:', queryError.message)
    return
  }

  console.log('Queried data:', queryData)
}

run()
OutputSuccess
Important Notes

Always check for errors after inserting or querying data.

Insert data as an array of objects, even if inserting one row.

Use filters like eq, lt, gt to narrow queries.

Summary

Insert data to add new rows to your database.

Query data to find and use saved information.

Check for errors to handle problems early.