使用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. IdentityServer4 快速上手

    IdentityServer4 是一个基于 .NET Core 的 OpenID Connect 实现框架. 基于框架创建可运行的应用,通常还需要多个步骤,添加引用.配置项目.框架初始化.按照一系列步 ...

  2. docker-entrypoint.sh 文件的用处

    参考出处很多著名库的 Dockerfile 文件中,通常都是 ENTRYPOINT 字段会是这样: ENTRYPOINT ["docker-entrypoint.sh"]这里我们参 ...

  3. docker.sock: connect: permission denied 解决

    问题描述xjun@DESKTOP-L2R4GKN:~$ docker run -it hello-worlddocker: Got permission denied while trying to ...

  4. 【转载】 《SpringBoot2.0 实战》系列-集成Quartz定时任务(持久化到数据库)

    https://blog.csdn.net/HXNLYW/article/details/95055601 一.增加依赖 我们使用的spring-boot-starter-quartz,所以不用显示指 ...

  5. Qt/C++音视频开发75-获取本地有哪些摄像头名称/Qt内置函数方式

    一.前言 在需要打开本地摄像头的场景中,有个需求绕不开,那就是如何获取本地有哪些摄像头设备名称,这样可以提供下拉框给用户选择,不然你让用户去填设备名,你觉得用户会知道是啥,他会操作吗?就算你提供了详细 ...

  6. Qt编写的项目作品12-简易视频播放器

    一.功能特点 多线程实时播放rtsp视频流. 支持windows+linux+mac. 多线程显示图像,不卡主界面. 自动重连网络摄像头. 可设置边框大小即偏移量和边框颜色. 可设置是否绘制OSD标签 ...

  7. Vetur can't find `tsconfig.json` or `jsconfig.json` in XXX

    vue界面启动项目 visual code报错 如下图,找到 Ignore Project Warning 前边打上对勾

  8. 记录一下vue的插件

    2022.1.25今天记录下下载文件的插件  js-file-download  以防遗忘 首先npm install  js-file-download --save 其次引入import file ...

  9. Solution -「LNOI 2022」「洛谷 P8367」盒

    \(\mathscr{Desription}\)   Link.   有 \(n\) 个盒子排成一排,第 \(i\) 个盒子内有 \(a_i\) 个球.球可以在相邻盒子间传递,\(i\) 与 \(i+ ...

  10. 最新AI智能体开发案例:辅助写作神器!教你用Coze平台搭建「文匠智创 1.0」智能体!

    各位小伙伴们,大家好呀!我是疯狂老包.我精心打造的<疯狂AI智能体开发:100个实战案例, 从 入门到精通 >正在开发中!要是你对 AI 应用搭建满怀热忱,渴望深入学习其中的奥秘与技巧,那 ...