Node.js MySQL Update Query with Example
Before starting the coding, You must set up the following things
- You have to Install Basic Express Application like the following project folder structure
myapp/ |__bin |__node_modules |__public |__routes/ | |__index.js | |__user.js |__views/ | |__index.ejs | |__user.ejs | |__user-list.ejs |__app.js |__database.js |__package-lock.json |__package.json
- Create
database.js
file and write the following Node.js MySQL connection Query.
- var mysql = require('mysql');
- var conn = mysql.createConnection({
- host: 'localhost', // Replace with your host name
- user: 'root', // Replace with your database username
- password: '', // Replace with your database password
- database: 'nodeapp' // // Replace with your database Name
- });
- conn.connect(function(err) {
- if (err) throw err;
- console.log('Database is connected successfully !');
- });
- module.exports = conn;
Write SQL Query in Node.js to Edit Data
Use the following script in the
routes/user.js
file. This script will help you to fetch data from the users
table and display it in HTML form.- router.get('/edit/:id', function(req, res, next) {
- var UserId= req.params.id;
- var sql=`SELECT * FROM users WHERE id=${UserId}`;
- db.query(sql, function (err, data) {
- if (err) throw err;
- res.render('user', { title: 'User List', editData: data[0]});
- });
- });
Write SQL Query in Node.js to Update Data
You can use the following script in the
routes/user.js
file. This script will help you to update data of users
table and display it in HTML form.- router.post('/edit/:id', function(req, res, next) {
- var id= req.params.id;
- var updateData=req.body;
- var sql = `UPDATE users SET ? WHERE id= ?`;
- db.query(sql, [updateData, id], function (err, data) {
- if (err) throw err;
- console.log(data.affectedRows + " record(s) updated");
- });
- res.redirect('/user/user-list');
- });
Fetch Edit Data and display in HTML Form
Use the following code in the
views/user.ejs
file. This code will help you edit and delete data by the HTML form.- <!--====form section start====-->
- <div class="user-detail">
- <form action="<%=(typeof editData!='undefined')?'/user/edit/'+editData.id:'/user/create'%>" method="POST">
- <label>Full Name</label>
- <input type="text" placeholder="Enter Full Name" name="fullName" required value="<%=(typeof editData!='undefined')? editData.fullName:''%>">
- <label>Email Address</label>
- <input type="email" placeholder="Enter Email Address" name="emailAddress" required value="<%=(typeof editData!='undefined')? editData.emailAddress:''%>">
- <label>City</label>
- <input type="city" placeholder="Enter Full City" name="city" required value="<%=(typeof editData!='undefined')? editData.city:''%>">
- <label>Country</label>
- <input type="text" placeholder="Enter Full Country" name="country" required value="<%=(typeof editData!='undefined')? editData.country:''%>">
- <button type="submit">Submit</button>
- </div>
- </div>
- <!--====form section start====-->
Complete Script to update Data using Node.js and MySQL
Include the database connection file
database.js
in the routes/user.js
file.- var db=require('../database');
You can the following complete script in
routes/user.js
file.
Now, Include
routes/user.js
file in the root file app.js
- var userRouter = require('./routes/user');
- app.use('/user',userRouter);
File Name: routes/user.js
- var express = require('express');
- var router = express.Router();
- var db=require('../database');
- // write here create & display data script
- router.get('/edit/:id', function(req, res, next) {
- var UserId= req.params.id;
- var sql=`SELECT * FROM users WHERE id=${UserId}`;
- db.query(sql, function (err, data) {
- if (err) throw err;
- res.render('user', { title: 'User List', editData: data[0]});
- });
- });
- router.post('/edit/:id', function(req, res, next) {
- var id= req.params.id;
- var updateData=req.body;
- var sql = `UPDATE users SET ? WHERE id= ?`;
- db.query(sql, [updateData, id], function (err, data) {
- if (err) throw err;
- console.log(data.affectedRows + " record(s) updated");
- });
- res.redirect('/user/user-list');
- });
- module.exports = router;
Comments
Post a Comment