# Update using Query Builder

You can create UPDATE queries using QueryBuilder. Examples:

await dataSource
    .createQueryBuilder()
    .update(User)
    .set({ firstName: "Timber", lastName: "Saw" })
    .where("id = :id", { id: 1 })
    .execute()
1
2
3
4
5
6

This is the most efficient way in terms of performance to update entities in your database.

# Raw SQL support

In some cases when you need to execute SQL queries you need to use function style value:

await dataSource
    .createQueryBuilder()
    .update(User)
    .set({
        firstName: "Timber",
        lastName: "Saw",
        age: () => "age + 1",
    })
    .where("id = :id", { id: 1 })
    .execute()
1
2
3
4
5
6
7
8
9
10

This syntax doesn't escape your values, you need to handle escape on your own.