Queries and Mutations

1/11/2025

Queries and Mutations

GraphQL operations are either queries (read) or mutations (write).

Queries

graphql
# Basic query
query {
  users {
    name
  }
}

# Query with arguments
query {
  user(id: "1") {
    name
    email
  }
}

# Named query with variables
query GetUser($id: ID!) {
  user(id: $id) {
    name
    email
    posts {
      title
    }
  }
}

Mutations

graphql
mutation CreateUser($input: CreateUserInput!) {
  createUser(input: $input) {
    id
    name
    email
  }
}

mutation UpdateUser($id: ID!, $name: String!) {
  updateUser(id: $id, name: $name) {
    id
    name
  }
}

mutation DeleteUser($id: ID!) {
  deleteUser(id: $id)
}

Fragments

graphql
fragment UserFields on User {
  id
  name
  email
}

query {
  user(id: "1") {
    ...UserFields
  }
  users {
    ...UserFields
  }
}