Bird
Raised Fist0
GraphQLquery~5 mins

Mutation syntax in GraphQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a mutation in GraphQL?
A mutation is a special type of GraphQL operation used to change data on the server, like creating, updating, or deleting records.
Click to reveal answer
beginner
How do you start writing a mutation in GraphQL?
You start with the keyword mutation, followed by the mutation name and the fields you want to change or return.
Click to reveal answer
intermediate
What is the purpose of variables in a GraphQL mutation?
Variables let you pass dynamic values into a mutation, making it reusable and flexible without changing the mutation code itself.
Click to reveal answer
beginner
Explain the structure of a simple GraphQL mutation to add a new user with name and email.
A mutation includes the mutation keyword, a mutation name, input arguments like name and email, and the fields you want back, for example:
mutation {
addUser(name: "Alice", email: "alice@example.com") {
id
name
}
}
Click to reveal answer
intermediate
Why do mutations usually return data after execution?
Returning data after a mutation confirms the change and provides updated information, like the new record's ID or updated fields.
Click to reveal answer
Which keyword starts a GraphQL mutation?
Achange
Bmutation
Cupdate
Dquery
What does a GraphQL mutation typically do?
AFetch data without changes
BDelete the entire database
CChange data on the server
DOnly update client-side data
How do you pass dynamic values into a mutation?
AUsing variables
BHardcoding values
CUsing comments
DUsing fragments
What is the correct way to request the ID of a newly created user in a mutation?
AUse a special <code>getId</code> keyword
BUse a separate query after mutation
CMutations cannot return fields
DInclude <code>id</code> in the mutation's return fields
Which of these is NOT a typical use of a GraphQL mutation?
AFetching a list of items
BUpdating existing data
CCreating a new record
DDeleting a record
Describe the basic syntax of a GraphQL mutation and how it differs from a query.
Think about how you tell the server to change data instead of just asking for it.
You got /4 concepts.
    Explain why variables are useful in GraphQL mutations and give an example of their use.
    Variables help avoid rewriting the mutation for different inputs.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a mutation in GraphQL?
      easy
      A. To define the data schema
      B. To fetch data without changing anything
      C. To create a new GraphQL server
      D. To change data on the server like adding, updating, or deleting records

      Solution

      1. Step 1: Understand GraphQL operations

        GraphQL has queries to fetch data and mutations to change data.
      2. Step 2: Identify mutation role

        Mutations are used to add, update, or delete data on the server.
      3. Final Answer:

        To change data on the server like adding, updating, or deleting records -> Option D
      4. Quick Check:

        Mutation = change data [OK]
      Hint: Mutations always modify data, queries only read data [OK]
      Common Mistakes:
      • Confusing mutations with queries
      • Thinking mutations define schema
      • Assuming mutations create servers
      2. Which of the following is the correct basic syntax to start a mutation in GraphQL?
      easy
      A. mutation { addUser(name: "Alice") { id name } }
      B. query { addUser(name: "Alice") { id name } }
      C. mutation addUser { name: "Alice" }
      D. addUser mutation { name: "Alice" }

      Solution

      1. Step 1: Recognize mutation keyword usage

        Mutations start with the keyword mutation followed by braces containing the mutation call.
      2. Step 2: Check correct structure

        mutation { addUser(name: "Alice") { id name } } correctly uses mutation { addUser(...) { ... } } syntax.
      3. Final Answer:

        mutation { addUser(name: "Alice") { id name } } -> Option A
      4. Quick Check:

        Mutation starts with 'mutation' keyword and braces [OK]
      Hint: Mutation always starts with 'mutation' keyword and braces [OK]
      Common Mistakes:
      • Using 'query' instead of 'mutation'
      • Placing mutation name before 'mutation' keyword
      • Missing braces around mutation call
      3. Given the mutation below, what will be returned?
      mutation {
        createPost(title: "Hello") {
          id
          title
        }
      }
      medium
      A. No return data because no fields requested
      B. { "data": { "createPost": null } }
      C. { "data": { "createPost": { "id": 1, "title": "Hello" } } }
      D. Syntax error: missing fields

      Solution

      1. Step 1: Analyze mutation call and requested fields

        The mutation calls createPost with title "Hello" and requests id and title fields back.
      2. Step 2: Understand expected return

        The server returns the new post's id and title as requested.
      3. Final Answer:

        { "data": { "createPost": { "id": 1, "title": "Hello" } } } -> Option C
      4. Quick Check:

        Requested fields returned in data [OK]
      Hint: Requested fields inside mutation braces are returned [OK]
      Common Mistakes:
      • Expecting no return data
      • Confusing syntax error with correct syntax
      • Ignoring requested fields in response
      4. Identify the error in this mutation:
      mutation {
        updateUser(id: 5, name: "Bob")
      }
      medium
      A. Missing requested return fields after mutation call
      B. Wrong keyword, should be 'query' instead of 'mutation'
      C. Mutation name 'updateUser' is invalid
      D. Extra parentheses around arguments

      Solution

      1. Step 1: Check mutation syntax

        Mutation calls must specify which fields to return inside braces after the call.
      2. Step 2: Identify missing return fields

        This mutation lacks braces with requested fields after updateUser, causing syntax error.
      3. Final Answer:

        Missing requested return fields after mutation call -> Option A
      4. Quick Check:

        Mutations must request return fields [OK]
      Hint: Always request fields after mutation call in braces [OK]
      Common Mistakes:
      • Omitting return fields
      • Using 'query' keyword for mutations
      • Misplacing parentheses
      5. You want to delete a user by ID and get back the deleted user's name and email. Which mutation is correct?
      hard
      A. mutation deleteUser(id: 10) { name email }
      B. mutation { deleteUser(id: 10) { name email } }
      C. mutation { deleteUser(id: 10) }
      D. deleteUser mutation { id: 10, name, email }

      Solution

      1. Step 1: Confirm mutation keyword and structure

        Mutation must start with mutation keyword followed by braces containing the mutation call.
      2. Step 2: Check mutation call and requested fields

        mutation { deleteUser(id: 10) { name email } } correctly calls deleteUser with id: 10 and requests name and email fields.
      3. Final Answer:

        mutation { deleteUser(id: 10) { name email } } -> Option B
      4. Quick Check:

        Correct mutation syntax with requested return fields [OK]
      Hint: Mutation call inside braces with requested fields in nested braces [OK]
      Common Mistakes:
      • Placing mutation name after keyword incorrectly
      • Not requesting return fields
      • Using wrong keyword order
      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