Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m290:learningunits:lu09:theorie:03 [2024/11/05 13:37] – vdemir | modul:m290:learningunits:lu09:theorie:03 [2024/11/05 14:51] (aktuell) – vdemir | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
- How to perform the CRUD operations on the server | - How to perform the CRUD operations on the server | ||
- How to perform the CRUD operations by using PoSTMAN | - How to perform the CRUD operations by using PoSTMAN | ||
- | + | - | |
===== Sources ===== | ===== Sources ===== | ||
* {{ : | * {{ : | ||
Zeile 14: | Zeile 13: | ||
At last chapter of our database journey we want to perform all CRUD operations within the server AND the client (POSTMAN). For reasons of efficiency we are going to start with the R = READ of CRUD. | At last chapter of our database journey we want to perform all CRUD operations within the server AND the client (POSTMAN). For reasons of efficiency we are going to start with the R = READ of CRUD. | ||
- | ==== R = READ: Fetching list of data ==== | + | ==== R - READ: Fetching list of data ==== |
First of all, we want to display the list of users, which are store in the table users. The following code show how to get that list from the database. | First of all, we want to display the list of users, which are store in the table users. The following code show how to get that list from the database. | ||
Zeile 30: | Zeile 29: | ||
}); | }); | ||
| | ||
- | {{: | + | {{: |
- | ==== R = READ: Getting one spefific row of data ==== | + | ==== R - READ: Getting one spefific row of data ==== |
If we want one speficific individual to be displayed, we need to make some changes, such as filtering a user_id, as shown in the following code below. | If we want one speficific individual to be displayed, we need to make some changes, such as filtering a user_id, as shown in the following code below. | ||
Zeile 53: | Zeile 52: | ||
}); | }); | ||
- | {{: | + | {{: |
- | ==== Deleting on user from the table ==== | + | ==== D - Deletion of one specific record |
- | // DELETE user method | + | If we want to delete |
- | app.delete('/ | + | |
- | const userId = req.params.id; | + | |
- | | + | app.delete('/ |
+ | const userId = req.params.id; | ||
+ | | ||
+ | db.query(deleteQuery, | ||
+ | if (err) { | ||
+ | res.status(500).send(' | ||
+ | } else if (result.affectedRows === 0) { | ||
+ | res.status(404).send(' | ||
+ | } else { | ||
+ | res.send(`User with ID ${userId} deleted successfully`); | ||
+ | } | ||
+ | }); | ||
+ | }); | ||
+ | | ||
- | db.query(deleteQuery, [userId], (err, result) => { | + | {{: |
- | if (err) { | + | |
- | res.status(500).send(' | + | ==== U - Update of one specfic row ==== |
- | } else if (result.affectedRows === 0) { | + | Well, if we want to update one row of data, we need the http method PUT. |
- | res.status(404).send(' | + | |
- | } else { | + | app.put('/ |
- | res.send(`User with ID ${userId} | + | const userId = req.params.id; |
- | } | + | const { username, email } = req.query; // Get username and email from query parameters |
- | }); | + | // Ensure that at least one field is provided |
- | }); | + | if (!username && !email) { |
- | ==== Vocabulary | + | return res.status(400).send(' |
- | ^English ^ Deutsch ^ | + | } |
- | | ...| ...| | + | // Construct the update query |
+ | const updateQuery = ' | ||
+ | const values = [username || null, email || null, userId]; // Use null for any field not provided | ||
+ | db.query(updateQuery, | ||
+ | if (err) { | ||
+ | res.status(500).send(' | ||
+ | } else if (result.affectedRows === 0) { | ||
+ | res.status(404).send(' | ||
+ | } else { | ||
+ | res.send(`User with ID ${userId} | ||
+ | } | ||
+ | }); | ||
+ | }); | ||
+ | |||
+ | {{: | ||
+ | | ||
+ | ==== C - CREATE: Insert a new row into the db ==== | ||
+ | Finally, with the INSERT operation, we complete our CRUD requirements. | ||
+ | |||
+ | // insert a row | ||
+ | app.post('/ | ||
+ | const { username, email } = req.query; // Get username and email from query parameters | ||
+ | // Ensure that both fields are provided | ||
+ | if (!username | ||
+ | return res.status(400).send(' | ||
+ | } | ||
+ | // Construct the insert query | ||
+ | const insertQuery = ' | ||
+ | const values = [username, email]; // Use provided fields for insertion | ||
+ | db.query(insertQuery, | ||
+ | if (err) { | ||
+ | console.error(' | ||
+ | return res.status(500).send(' | ||
+ | } | ||
+ | // Respond with the ID of the newly created user | ||
+ | res.status(201).send(`User added with ID: ${result.insertId}`); | ||
+ | }); | ||
+ | }); | ||
+ | {{: | ||
---- | ---- | ||
[[https:// | [[https:// | ||