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+express+mysql 增删改查
之前,一直使用的是nodejs+thinkjs来完成自己所需的项目需求,而对于nodejs中另外一中应用框架express却了解的少之又少,这两天就简单的了解了一下如何使用express来做一些数据库 ...
- 简单实现 nodejs koa2 mysql 增删改查 制作接口
1.首先 在电脑上安装 nodejs (此处略过) 2.全局安装 koa2 (这里使用的淘宝镜像cnpm,有兴趣的同学可以自行搜索下) cnpm install koa-generator -g 3. ...
- nodejs+express+mysql 增删改查(二)
1.最早一篇关于express框架简单的增删改查文章,http://www.cnblogs.com/zhengyeye/p/nodejs.html#3947308:意外走红博客园,无奈自己之前一直没有 ...
- 基于springmvc、ajax,后台连接数据库的增删改查
前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...
- BaseDao代码,用于连接数据库实行增删改查等操作
在学习JavaWeb时会用到此代码,用于实行增删改查操作 1 package com.bdqn.dao; import java.sql.Connection; import java.sql.Dri ...
- JDBC连接数据库及增删改查操作
什么是JDBC?Java语言访问数据库的一种规范,是一套APIJDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类 ...
- Java连接数据库,增删改查
底层代码: package com.zdsoft; import java.sql.*; /** * Created by lx on 2017/6/22. */ public class JDBCU ...
- Nodejs操作MySQL - 增删改查
先安装npm模块项目 npm init 安装mysql npm install mysql --save Nodejs 连接msyql // 导入mysql const mysql = require ...
- ListView 连接数据库的增删改查
private string link = "server=.;database=list;user=sa;pwd=123"; public void chaxun() //创建一 ...
随机推荐
- HDU 1166 - 敌兵布阵 - [分块]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 题解: 本题作为一个模板题,我用它来检验过总查询时间复杂度为 $O(q \log n)$ 的树状 ...
- hive中的几个参数:元数据配置、仓库位置、打印表字段相关参数
hive仓库位置由以下参数决定,默认位置/user/hive/warehouse: <property> <name>hive.metastore.wareho ...
- mysql表引擎myisam改为innodb
1.进入数据库 2.SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements FROM ...
- [cipher][archlinux][disk encryption][btrfs] 磁盘分区加密 + btrfs
科普链接:https://wiki.archlinux.org/index.php/Disk_encryption 前面的链接关于硬盘加密,讲了几种,基本上就是选dm-crypt with LUKS ...
- 天使玩偶:CDQ分治
这道好(du)题(liu)还是很不错的 挺锻炼代码能力和不断优化 卡常的能力的. 对于 每次询问 我都可以将其分出方向 然后 写 也就是针对于4个方向 左下 左上 右下 右上 这样的话 就成功转换了问 ...
- iOS-Core-Animation-Advanced-Techniques/13-高效绘图 【没理解】
#import "DrawingView.h" #import <QuartzCore/QuartzCore.h> @interface DrawingView () ...
- springmvc shiro整合cas单点登入
shiro cas分为登入跟登出 maven依赖: <dependency> <groupId>org.apache.shiro</groupId> <art ...
- oc培训之变量课后练习
1.打印常用数据类型长度,打印2.3f,使小数点后面为4位. float i=2.3f; printf("%.4f",i); 2.打印以下图形. int i,j,k,m,n; ;i ...
- 前端开发---HTML---标签
HTML的标签内容 1.index <!--声明文档的类型 标记该文档为HTML5的文件--> <!DOCTYPE html> <!-- 页面的根节点 --> &l ...
- SQL Server Management Studio最新版下载地址
https://docs.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server ...