Bird
Raised Fist0
Supabasecloud~5 mins

CRUD operations with supabase-js - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does CRUD stand for in database operations?
CRUD stands for Create, Read, Update, and Delete. These are the four basic operations to manage data in a database.
Click to reveal answer
beginner
How do you create a new record using supabase-js?
Use the insert() method on a table reference. For example: supabase.from('table').insert([{ column: 'value' }]) adds a new row.
Click to reveal answer
beginner
How do you read or fetch data from a table using supabase-js?
Use the select() method on a table reference. For example: supabase.from('table').select('*') fetches all columns from all rows.
Click to reveal answer
intermediate
How do you update existing data with supabase-js?
Use the update() method with eq() or other filters to specify which rows to update. Example: supabase.from('table').update({ column: 'new' }).eq('id', 1).
Click to reveal answer
intermediate
How do you delete records using supabase-js?
Use the delete() method with filters to specify which rows to remove. Example: supabase.from('table').delete().eq('id', 1) deletes the row with id 1.
Click to reveal answer
Which method is used to add new data in supabase-js?
Ainsert()
Bselect()
Cupdate()
Ddelete()
How do you fetch all columns from a table in supabase-js?
Adelete('*')
Binsert('*')
Cselect('*')
Dupdate('*')
Which method updates existing rows in supabase-js?
Aupdate()
Binsert()
Cselect()
Ddelete()
What is needed to specify which rows to update or delete?
Ainsert()
Bselect()
CNo filter needed
DFilters like eq()
Which method removes data from a table?
Aselect()
Bdelete()
Cupdate()
Dinsert()
Explain how to perform each CRUD operation using supabase-js with simple examples.
Think about which method matches each operation and how to specify rows.
You got /4 concepts.
    Describe why filters like eq() are important when updating or deleting data in supabase-js.
    Consider what happens if you update or delete without telling which rows.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the insert() method do in supabase-js when working with a table?
      easy
      A. Deletes data rows from the table
      B. Adds new data rows to the table
      C. Updates existing data rows in the table
      D. Fetches data rows from the table

      Solution

      1. Step 1: Understand the purpose of insert()

        The insert() method is used to add new records to a database table.
      2. Step 2: Compare with other CRUD methods

        delete() removes data, update() changes data, and select() fetches data. So insert() must add data.
      3. Final Answer:

        Adds new data rows to the table -> Option B
      4. Quick Check:

        insert() = add data [OK]
      Hint: Insert means add new data rows [OK]
      Common Mistakes:
      • Confusing insert() with update()
      • Thinking insert() deletes data
      • Mixing insert() with select()
      2. Which of the following is the correct syntax to select all rows from a table named users using supabase-js?
      easy
      A. supabase.from('users').select('*')
      B. supabase.select('*').from('users')
      C. supabase.from('users').get('*')
      D. supabase.query('users').select('*')

      Solution

      1. Step 1: Recall supabase-js query structure

        The correct method chain starts with from('table') then select() to specify columns.
      2. Step 2: Check each option

        supabase.from('users').select('*') matches the correct order and methods. The other options use incorrect method order or invalid methods.
      3. Final Answer:

        supabase.from('users').select('*') -> Option A
      4. Quick Check:

        from() then select() = correct syntax [OK]
      Hint: Use from('table').select('*') to fetch all rows [OK]
      Common Mistakes:
      • Swapping order of from() and select()
      • Using get() instead of select()
      • Using query() which is not a supabase-js method
      3. What will be the output of this code snippet?
      const { data, error } = await supabase.from('products').select('id, name').eq('category', 'books');
      console.log(data);
      medium
      A. An empty array because 'select' needs all fields specified
      B. An error because 'eq' is not a valid method
      C. All products with all fields regardless of category
      D. An array of products with category 'books' showing only id and name fields

      Solution

      1. Step 1: Understand the query filters and selects

        The select('id, name') picks only those two fields. The eq('category', 'books') filters rows where category equals 'books'.
      2. Step 2: Predict the output

        The result data will be an array of objects with only id and name for products in the 'books' category.
      3. Final Answer:

        An array of products with category 'books' showing only id and name fields -> Option D
      4. Quick Check:

        select + eq filters data correctly [OK]
      Hint: eq() filters rows; select() chooses fields [OK]
      Common Mistakes:
      • Thinking eq() is invalid
      • Assuming select() returns all fields
      • Expecting error due to method chaining
      4. Identify the error in this supabase-js update code:
      const { data, error } = await supabase.from('users').update({ age: 30 }).where('id', 5);
      medium
      A. Missing select() after update()
      B. The update method cannot update numeric fields
      C. The method where does not exist; should use eq instead
      D. The table name 'users' is invalid

      Solution

      1. Step 1: Check method chaining for update filters

        supabase-js uses eq() to filter rows, not where().
      2. Step 2: Confirm other parts

        Updating numeric fields is allowed, select() is optional, and 'users' is a valid table name.
      3. Final Answer:

        The method where does not exist; should use eq instead -> Option C
      4. Quick Check:

        Use eq() not where() for filtering [OK]
      Hint: Use eq() to filter, not where() [OK]
      Common Mistakes:
      • Using where() instead of eq()
      • Thinking update() needs select() always
      • Assuming numeric fields can't be updated
      5. You want to delete all rows from the orders table where the status is 'cancelled'. Which code snippet correctly performs this action and handles errors?
      hard
      A. const { error } = await supabase.from('orders').delete().eq('status', 'cancelled'); if (error) console.error(error);
      B. const { data } = await supabase.from('orders').remove().eq('status', 'cancelled'); if (data) console.log(data);
      C. const { error } = await supabase.from('orders').delete('status', 'cancelled'); if (error) console.error(error);
      D. const { error } = await supabase.from('orders').delete().where('status', 'cancelled'); if (error) console.error(error);

      Solution

      1. Step 1: Identify correct delete syntax with filter

        supabase-js uses delete() followed by eq('column', value) to filter rows to delete.
      2. Step 2: Check error handling

        The code checks if error exists and logs it, which is best practice.
      3. Final Answer:

        const { error } = await supabase.from('orders').delete().eq('status', 'cancelled'); if (error) console.error(error); -> Option A
      4. Quick Check:

        delete() + eq() + error check = correct [OK]
      Hint: Use delete().eq() and check error for safe deletion [OK]
      Common Mistakes:
      • Using remove() instead of delete()
      • Using where() instead of eq()
      • Not handling errors after delete
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard