使用Express对mysql进行增改查操作(完全代码版本)

今天发的是Express对mysql进行增删改操作的所有代码,这个代码还没有完善好,都是一些基础的增删改查操作,有一些地方也写上了注释方便大家查看,还有更方便管理的方法,后续再给大家更新把。

最近要是有时间就会把文章写出来给大家,希望想要学习的朋友都能学习顺利。

server.js文件夹完整的代码示例

    // 引入 express 框架
const express = require('express')
const mysql = require("mysql");
const bodyParser = require('body-parser');

// 创建实例
const app = express();
// 解析 application/json
app.use(bodyParser.json());
// // 解析 application/x-www-form-urlencoded
// app.use(bodyParser.urlencoded());

app.all('*', function(req, res, next) {
res.header('Access-Control-Allow-Origin',
'*'); //*表示可以跨域任何域名都行(包括直接存在本地的html文件)出于安全考虑最好只设置 你信任的来源也可以填域名表示只接受某个域名
res.header('Access-Control-Allow-Headers', 'X-Requested-With,Content-Type'); //可以支持的消息首部列表
res.header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS'); //可以支持的提交方式
res.header('Content-Type', 'application/json;charset=utf-8'); //响应头中定义的类型
next();
});

const connection = mysql.createConnection({ //建立一个连接参数方法
host: 'localhost', //数据库地址
port: '3306', //端口号
user: 'root', //用户名
password: 'root', //密码
database: 'test' //数据库名称
});
//用参数与数据库进行连接
// connection.connect();
let str = '';
connection.connect(); //打开连接
// connection.end()//关闭连接 如果关闭连接第二次请求数据库连接会失败
const getBanner = (table) => { //查询数据
return new Promise(function(resolve, reject) {
let sql = `SELECT * FROM ${table}`;
try {
connection.query(sql, (err, data) => {
if (err) {
reject(err)
} else {
resolve(data)
}
})
} catch (e) {
console.log(e);
}
})
}

const addBanner = (list) => { //增加数据
// console.log(Object.values(list));
list = Object.values(list) //将对象转成数组
return new Promise(function(resolve, reject) {
// const sql = 'UPDATE `user` SET ? WHERE id = ?'
//     //若sql语句中包含多个?占位符,第二个实参必须传递一个数组,并一一对应
//     conn.query(sql,[user,user.id],(err,result) => {}

let addSql = `INSERT INTO banner(name,url) VALUES (?,?)`;
try {
connection.query(addSql, list, (err, result) => {
if (err) {
reject(err)
} else {
result = {
code: 200,
msg: '增加成功'
};
resolve(result)
}
})
} catch (e) {
console.log(e);
}
})
}


const deleteBanner = (list) => { //删除数据
return new Promise(function(resolve, reject) {
let deleteSql = `delete from banner where name='${list.name}'`;
try {
connection.query(deleteSql, (err, result) => {
if (err) {
reject(err)
} else {
result = {
code: 200,
msg: '删除成功'
};
// console.log(result);
resolve(result)
}
})
} catch (e) {
console.log(e);
}
})
}

const updateBanner = (list) => { //修改数据
return new Promise(function(resolve, reject) {
let updateSql = `update banner set ? where id=${list.id}`;
try {
connection.query(updateSql,list.data, (err, result) => {
if (err) {
reject(err)
} else {
result = {
code: 200,
msg: '修改成功'
};
// console.log(result);
resolve(result)
}
})
} catch (e) {
console.log(e);
}
})
}
//2.发送请求(查询)
// var insert = `INSERT INTO table_name (name,url )VALUES(${name},${url});`

app.get('/', (req, res) => {
res.send('express启动成功端口号3011');
})

app.post('/addbanner', (req, res) => { //增加
addBanner(req.body).then(re => {
console.log(re);
res.send(re)
})
})
app.post('/deletebanner', (req, res) => { //删除
deleteBanner(req.body).then(re => {
// console.log(re);
res.send(re)
})
})

app.post('/updatebanner', (req, res) => { //修改
updateBanner(req.body).then(re => {
console.log(re);
res.send(re)
})
})

app.post('/select', (req, res) => { //查询某表数据
getBanner(req.body.table).then(re => {
res.send(re);
})
})


// 监听端口
app.listen(3011, () => {
console.log("服务已经启动,3011 端口监听中...");
})

使用Express对mysql进行增改查操作(完全代码版本)的更多相关文章

  1. java连接mysql以及增删改查操作

    java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺.直接上代码: (温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 ) class DBConnectio ...

  2. java+jsp+sqlserver实现简单的增删改查操作 连接数据库代码

    1,网站系统开发需要掌握的技术 (1)网页设计语言,html语言css语言等 (2)Java语言 (3)数据库 (4)等 2,源程序代码 (1) 连接数据库代码 package com.jaovo.m ...

  3. Jmeter实现MySQL的增删改查操作

    环境: JDBC驱动:mysql-connector-java-5.1.7-bin Jmeter:Jmeter3.0 1.导入JDBC驱动:测试计划-->浏览-->选择mysql-conn ...

  4. java连接mysql数据库增删改查操作记录

    1. 连接数据库.得到数据库连接变量 注意连接数据库的时候 (1)打开DB Browser 新建一个Database Driver,注意加入Driver JARs的时候加入的包,我的是mysql-co ...

  5. NodeJS中MySql的增删改查操作

    纯粹记录一下最基础写法,几乎没有写什么逻辑,写法也并不是很完善(因为我自己也刚刚摸索出来这么写可以...= =!)    望高手指教   也希望能够帮到比我还新的新手.... //1.insert操作 ...

  6. 【Python + Mysql】之用pymysql库连接Mysql数据库并进行增删改查操作

    用pip下载pymysql并引用 具体请参考文章: <Python之MySQL数据库增删改查操作> <python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删 ...

  7. TP5.1:数据库的增删改查操作(基于数据库操作)

    1.在app/index/controller文件夹下创建一个文件,名为:Operation 注意:起名一定要避开关键字,例如:mysql,curd等等,如果使用关键字起名,会造成报错! 在Opera ...

  8. mysql 中的增改查删(CRUD)

    增改查删可以用CURD来表示  增加:create  修改:update   查找:read      删除:delete 增加create :  insert +表名+values+(信息): in ...

  9. MySQL数据库(增删改查语句)

    MySQL数据库(增删改查语句)一.登录数据库:---->  mysql -uroot -proot;(对应用户名和密码)二.SQL语句:    数据定义语言DDL  用来定义数据库.表.列,关 ...

  10. MySQL数据库的权限问题操作及基本增删改查操作

    前面我们讲了mysql的基本内容,现在我们详细的了解一下mysql中的具体操作. what's the SQl SQL(Structured Query Language 即结构化查询语言) SQL语 ...

随机推荐

  1. 【Windows】查看笔记本电池寿命/损耗度(查看电池使用时间报告)

    ① Win+r 运行 命令提示符窗口 ② 输入powercfg/batteryreport 你将会得到电池使用时间报告 将这个地址粘贴到浏览器地址栏访问,或者根据这个地址在资源管理器中找到这个文件夹双 ...

  2. 【前端】【Vue】Vue3自适应瀑布流解决方案

    Vue3自适应瀑布流解决方案 效果如上图所示. 说明:Vue3.[vue-masonry插件](vue-masonry - npm (npmjs.com)) 建议查看官方文档vue-masonry ( ...

  3. Consul health check pass by Spring security filter

    https://stackoverflow.com/questions/35079930/consul-health-check-pass-by-spring-security-filter By d ...

  4. Qt/C++音视频开发73-高效滤镜/文字水印/图形水印/图片水印/yolo运算后的结果显示到画面中

    一.前言 视频监控系统发展到今天,越来越智能,比如这些年流行的人脸识别.物体识别.烟感识别等,都是需要拿到图片数据去做运算处理,然后将结果显示到视频画面中,或者还有要求将结果保存到视频录像文件中,以便 ...

  5. Qt编写物联网管理平台49-设备模拟工具

    一.前言 本系统专门配备了设备模拟工具,用来在没有外接真实设备的时候,模拟modbus协议数据,支持多个设备,支持串口和网络方式,可切换正常数据和报警数据,反应到主程序上.对应主程序中两种端口,一种是 ...

  6. Hugo 静态博客部署

    I. 前提条件 1.1 安装 Hugo 1.1.1 Windows 1.下载 Hugo(建议下载扩展版):Hugo(github.com) 2.解压 Hugo 压缩包到指定目录. 3.[Win + R ...

  7. 监听sessionStorage中值的变化

    应用场景:将登录接口所返回的用户信息存入sessionStorage,在其他地方需要使用到用户信息,但不知道什么时候接口请求完,此时可以监听sessionStorage中值的变化. 应用:Event自 ...

  8. 一问一答学习PyQT6,对比WxPython和PyQt6的差异

    在我的基于WxPython的跨平台框架完成后,对WxPython的灵活性以及强大功能有了很深的了解,在跨平台的桌面应用上我突然对PyQt6的开发也感兴趣,于是准备了开发环境学习PyQt 6,并对比下W ...

  9. 未能加载文件或程序集"Symtem.Data.SQLite.dll"或它的某一个依赖项

    我在window service 2016 等更高版本的服务器上遇见过,普通window系统未预见.可尝试安装 VC ++ 2010 我下载安装  之后就好了.

  10. Docker实践:Centos下安装Docker并简单的使用

    1 环境介绍 版本信息: [root@localhost]#  cat /proc/version Linux version 3.10.0-514.el7.x86_64 (builder@kbuil ...