# Delete using Query Builder

## `Delete`[​](#delete "Direct link to delete")

You can create `DELETE` queries using `QueryBuilder`. Examples:

```
await myDataSource

    .createQueryBuilder()

    .delete()

    .from(User)

    .where("id = :id", { id: 1 })

    .execute()
```

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

## `Soft-Delete`[​](#soft-delete "Direct link to soft-delete")

Applying Soft Delete to QueryBuilder

```
await dataSource.getRepository(Entity).createQueryBuilder().softDelete()
```

Examples:

```
await myDataSource

    .getRepository(User)

    .createQueryBuilder()

    .softDelete()

    .where("id = :id", { id: 1 })

    .execute()
```

## `Restore-Soft-Delete`[​](#restore-soft-delete "Direct link to restore-soft-delete")

Alternatively, You can recover the soft deleted rows by using the `restore()` method:

```
await dataSource.getRepository(Entity).createQueryBuilder().restore()
```

Examples:

```
await myDataSource

    .getRepository(User)

    .createQueryBuilder()

    .restore()

    .where("id = :id", { id: 1 })

    .execute()
```
