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连接数据库的增删改查的主要内容,如果未能解决你的问题,请参考以下文章