nodejs连接数据库的增删改查

Posted JaydenLD@Clara

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs连接数据库的增删改查相关的知识,希望对你有一定的参考价值。

连接数据库后需要用代码操作的是,传入mysql语句,和参数,然后就是回调了

新增

// 新增
    app.post(‘/process_post‘, urlencodedParser, function (req, res) {  //post处理方法
       var response = {
           "names":req.body.names,   //得到页面提交的数据
           "passwords":req.body.passwords
       };
        //鏈接數據庫
		    var mysql = require("mysql");
		    var connection = mysql.createConnection({  //配置参数,然后添加你的数据库里面的表
		        host: ‘数据库地址‘,
		        user: ‘用户名‘,
		        password: ‘密码‘,
		        database: ‘数据库名称‘
		    })
		    connection.connect();  //连接
		       //插入數據
	      var addSql = "insert into formtable(name,password) values(?,?)"; //mysql语句
	      var addParmas = [response.names, response.passwords];//传递参数进入
	      connection.query(addSql, addParmas, function(err, res) {
	          if(err) {
	              console.log("[insert error]-", err.message);
	              return;
	          }else{
	          	show(res)//回调
	          }
	      })
        function show(arr){
          	result.data=arr;
          	res.json(result);//返回给前端
          	res.end();
          }   
       
    })

  上面的urlencodedParser是一个编码解释工具

删除

 //删除数据
    app.post(‘/del‘, urlencodedParser, function (req, res) {  //post处理方法
	       var response = {
	           "ids":req.body.id   //得到页面提交的数据
	       };
	        //鏈接數據庫
		    var mysql = require("mysql");
		    var connection = mysql.createConnection({  //配置参数,然后添加你的数据库里面的表
		        host: ‘数据库地址‘,
		        user: ‘用户名‘,
		        password: ‘密码‘,
		        database: ‘数据库名称‘
		    })
		    connection.connect();  //连接
		     var  userDelSql = ‘DELETE FROM formtable WHERE id = ?‘;
		      var addParmas = [response.ids];
		       connection.query(userDelSql,addParmas,function(err, res) {
		           if(err) {
		               console.log(‘[select error]-‘, err.message);
		               return;
		           }else{
		           		show(res)
		           } 
		       })
          function show(arr){
          	result.data=arr;
          	res.json(result);
          	res.end();
          }   
    })

  查询

// 初始化
    app.post(‘/init‘, urlencodedParser, function (req, res) {  //post处理方法
	       var response = {
	           "names":req.body.names   //得到页面提交的数据
	       };
	        //鏈接數據庫
		    var mysql = require("mysql");
		    var connection = mysql.createConnection({  //配置参数,然后添加你的数据库里面的表
		        host: ‘数据库地址‘,
		        user: ‘用户名‘,
		        password: ‘密码‘,
		        database: ‘数据库名称‘
		    })
		    connection.connect();  //连接
		     var selectSql = "select * from formtable";
		       connection.query(selectSql, function(err, res) {
		           if(err) {
		               console.log(‘[select error]-‘, err.message);
		               return;
		           }else{
		           		show(res)
		           } 
		       })
          function show(arr){
          	result.data=arr;
          	res.json(result);
          	res.end();
          }   
    })

  修改

//修改数据
    app.post(‘/modify‘, urlencodedParser, function (req, res) {  //post处理方法
	       var response = {
	           "ids":req.body.ids,   //得到页面提交的数据
	           "names":req.body.names,
	           "passwords":req.body.passwords
	       };
	        //鏈接數據庫
		    var mysql = require("mysql");
		    var connection = mysql.createConnection({  //配置参数,然后添加你的数据库里面的表
		        host: ‘数据库地址‘,
		        user: ‘用户名‘,
		        password: ‘密码‘,
		        database: ‘数据库名称‘
		    })
		    connection.connect();  //连接
		     var userModSql = ‘UPDATE formtable SET name = ?,password = ? WHERE id = ?‘;
		      var addParmas = [response.names,response.passwords,response.ids];
		      console.log(addParmas);
		       connection.query(userModSql,addParmas,function(err, res) {
		           if(err) {
		               console.log(‘[select error]-‘, err.message);
		               return;
		           }else{
		           		show(res)
		           } 
		       })
          function show(arr){
          	result.data=arr;
          	res.json(result);
          	res.end();
          }   
    })

  以上的"/modify" ‘/del‘ ‘/init‘‘/process_post‘这个四个就是四个接口,看完上面四个你就会觉得连接数据库增删改查没有什么的,当然啦,关于里面的方法你可以自己进行封装一下啦,增加他的复用性

完整代码

//表單提價 
  from_submit();  //为了方便管理我用函数包起来调用
    var result = {
        "status": "200",
        "message": "success",  
    }
  //表單提價 
  function from_submit(){
    var express = require(‘express‘);  //调用模板
    var app = express();  //不污染本来,用变量来表示
    var bodyParser = require(‘body-parser‘);  //调用模板
    var mysql = require(‘mysql‘);

       app.use(express.static(‘public‘));  //设置今天文件目录
    
    // app.get(‘/form_index.html‘,function(req,res){
    //     res.sendFile(__dirname+"/"+form_index.html); //提供静态文件
    // })
    //设置跨域访问
  app.all(‘*‘, function(req, res, next) {
     res.header("Access-Control-Allow-Origin", "*");
     res.header("Access-Control-Allow-Headers", "X-Requested-With");
     res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
     res.header("X-Powered-By",‘ 3.2.1‘);
     res.header("Content-Type", "application/json;charset=utf-8");
     next();
  });

    //創建編碼解析
    var urlencodedParser = bodyParser.urlencoded({ extended: false })
    // 新增
    app.post(‘/process_post‘, urlencodedParser, function (req, res) {  //post处理方法
 
           // 输出 JSON 格式
       var response = {
           "names":req.body.names,   //得到页面提交的数据
           "passwords":req.body.passwords
       };
        //鏈接數據庫
		    var mysql = require("mysql");
		    var connection = mysql.createConnection({  //配置参数,然后添加你的数据库里面的表
		        host: ‘localhost‘,
		        user: ‘root‘,
		        password: ‘root‘,
		        database: ‘test‘
		    })
		    connection.connect();  //连接
		       //插入數據
	      var addSql = "insert into formtable(name,password) values(?,?)"; //存放数据库语言的,这里是添加
	      var addParmas = [response.names, response.passwords];
	      connection.query(addSql, addParmas, function(err, res) {
	          if(err) {
	              console.log("[insert error]-", err.message);
	              return;
	          }else{
	          	show(res)
	          }
	      })
        function show(arr){
          	result.data=arr;
          	res.json(result);
          	res.end();
          }   
       
    })
    // 初始化
    app.post(‘/init‘, urlencodedParser, function (req, res) {  //post处理方法
           // 输出 JSON 格式
	       var response = {
	           "names":req.body.names   //得到页面提交的数据
	       };
	        //鏈接數據庫
		    var mysql = require("mysql");
		    var connection = mysql.createConnection({  //配置参数,然后添加你的数据库里面的表
		        host: ‘localhost‘,
		        user: ‘root‘,
		        password: ‘root‘,
		        database: ‘test‘
		    })
		    connection.connect();  //连接
		     var selectSql = "select * from formtable";
		       connection.query(selectSql, function(err, res) {
		           if(err) {
		               console.log(‘[select error]-‘, err.message);
		               return;
		           }else{
		           		show(res)
		           } 
		       })
          function show(arr){
          	result.data=arr;
          	res.json(result);
          	res.end();
          }   
    })
    //删除数据
    app.post(‘/del‘, urlencodedParser, function (req, res) {  //post处理方法
           // 输出 JSON 格式
	       var response = {
	           "ids":req.body.id   //得到页面提交的数据
	       };
	        //鏈接數據庫
		    var mysql = require("mysql");
		    var connection = mysql.createConnection({  //配置参数,然后添加你的数据库里面的表
		        host: ‘localhost‘,
		        user: ‘root‘,
		        password: ‘root‘,
		        database: ‘test‘
		    })
		    connection.connect();  //连接
		     var  userDelSql = ‘DELETE FROM formtable WHERE id = ?‘;
		      var addParmas = [response.ids];
		       connection.query(userDelSql,addParmas,function(err, res) {
		           if(err) {
		               console.log(‘[select error]-‘, err.message);
		               return;
		           }else{
		           		show(res)
		           } 
		       })
          function show(arr){
          	result.data=arr;
          	res.json(result);
          	res.end();
          }   
    })
    //修改数据
    app.post(‘/modify‘, urlencodedParser, function (req, res) {  //post处理方法
           // 输出 JSON 格式
	       var response = {
	           "ids":req.body.ids,   //得到页面提交的数据
	           "names":req.body.names,
	           "passwords":req.body.passwords
	       };
	        //鏈接數據庫
		    var mysql = require("mysql");
		    var connection = mysql.createConnection({  //配置参数,然后添加你的数据库里面的表
		        host: ‘localhost‘,
		        user: ‘root‘,
		        password: ‘root‘,
		        database: ‘test‘
		    })
		    connection.connect();  //连接
		     var userModSql = ‘UPDATE formtable SET name = ?,password = ? WHERE id = ?‘;
		      var addParmas = [response.names,response.passwords,response.ids];
		      console.log(addParmas);
		       connection.query(userModSql,addParmas,function(err, res) {
		           if(err) {
		               console.log(‘[select error]-‘, err.message);
		               return;
		           }else{
		           		show(res)
		           } 
		       })
          function show(arr){
          	result.data=arr;
          	res.json(result);
          	res.end();
          }   
    })



    var server = app.listen(3000, function () {  //监听
    var host = server.address().address
    var port = server.address().port
    console.log("应用实例,访问地址为 http://%s:%s", host, port)
    })
    
  }

  写这个主要还是方便我自己学习啦,如果有好的建议可以一起交流或者指教我一下~

   注:上面代码中的formtable 是我本地数据库的其中一个表而已,如果你的表明不是这个记得链接数据库后传入的mysql语句中修改一下

以上是关于nodejs连接数据库的增删改查的主要内容,如果未能解决你的问题,请参考以下文章

连接数据库的增删改查

nodejs对mongodb数据库的增删改查操作(转载)

nodejs对mongodb数据库的增删改查操作(转载)

mysql 的增删改查 实现代码

关于nodejs中的增删改查

使用Mongoose类库实现简单的增删改查