CRUD Operations (Create, Read, Update, Delete): examples
Advanced work with CRUD operations
In this section, we will look at examples of CRUD (Create, Read, Update, Delete) operations on the tasks
table using my ORM system. Here are examples of requests to create, retrieve, update, and delete records.
Create a new record
To add a new task to the tasks
table, use the following query:
const insertQueryExample = await databaseManager.queryBuilder()
.insert({
task_id: 1,
title: 'Новий таск',
description: 'Опис нового таску',
is_completed: false,
due_date: '2024-12-31',
price: 100.50
}, 'tasks')
.execute();
A selection of records
To select records from the tasks
table according to certain criteria, for example, all tasks that are not completed and have a certain price, use the following query:
const selectQueryExample = await databaseManager.queryBuilder<Tasks[]>()
.select(['task_id', 'title', 'status'])
.from('tasks')
.where({
conditions: {
is_completed: { eq: false },
price: { gt: 50 }
},
logicalOperator: 'and'
})
.orderBy('due_date', 'ASC')
.execute();
Updating records
To update entries in the tasks
table, such as changing the completion status for all tasks with a specific task_id
, use the following query:
const updateQueryExample = await databaseManager.queryBuilder()
.update({ is_completed: true }, 'tasks')
.whereconst updateQueryTask = await databaseManager.queryBuilder()
.update({ is_completed: true }, 'tasks')
.where({ conditions: { task_id: { eq: 1 } }, logicalOperator: 'and' })
.execute();
Deleting records
To delete records from the tasks
table, for example, to delete all tasks with a certain title
, use the following query:
const deleteQueryExample = await databaseManager.queryBuilder()
.delete('tasks')
.where({ conditions: { title: { eq: 'Завдання 2' } }})
.execute();
It should be noted that deleteQueryExample
, updateQueryExample
and insertQueryExample
return an empty array if successful
These examples demonstrate how you can use your ORM system to perform various CRUD operations on the tasks
table, given PostgreSQL-specific options.
Last updated