使用Express+Node.js對mysql進(jìn)行增改查操作?
前言:
今天發(fā)的是Express對mysql進(jìn)行增刪改操作的所有代碼,這個(gè)代碼還沒有完善好,都是一些基礎(chǔ)的增刪改查操作,有一些地方也寫上了注釋方便大家查看,還有更方便管理的方法,后續(xù)再給大家更新把。
最近要是有時(shí)間就會把文章寫出來給大家,希望想要學(xué)習(xí)的朋友都能學(xué)習(xí)順利。
server.js文件夾完整的代碼示例:
// 引入 express 框架 const express = require('express') const mysql = require("mysql"); const bodyParser = require('body-parser'); // 創(chuàng)建實(shí)例 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文件)出于安全考慮最好只設(shè)置 你信任的來源也可以填域名表示只接受某個(gè)域名 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'); //響應(yīng)頭中定義的類型 next(); }); const connection = mysql.createConnection({ //建立一個(gè)連接參數(shù)方法 host: 'localhost', //數(shù)據(jù)庫地址 port: '3306', //端口號 user: 'root', //用戶名 password: 'root', //密碼 database: 'test' //數(shù)據(jù)庫名稱 }); //用參數(shù)與數(shù)據(jù)庫進(jìn)行連接 // connection.connect(); let str = ''; connection.connect(); //打開連接 // connection.end()//關(guān)閉連接 如果關(guān)閉連接第二次請求數(shù)據(jù)庫連接會失敗 const getBanner = (table) => { //查詢數(shù)據(jù) 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) => { //增加數(shù)據(jù) // console.log(Object.values(list)); list = Object.values(list) //將對象轉(zhuǎn)成數(shù)組 return new Promise(function(resolve, reject) { // const sql = 'UPDATE `user` SET ? WHERE id = ?' // //若sql語句中包含多個(gè)?占位符,第二個(gè)實(shí)參必須傳遞一個(gè)數(shù)組,并一一對應(yīng) // 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) => { //刪除數(shù)據(jù) 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) => { //修改數(shù)據(jù) 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.發(fā)送請求(查詢) // 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) => { //查詢某表數(shù)據(jù) getBanner(req.body.table).then(re => { res.send(re); }) }) // 監(jiān)聽端口 app.listen(3011, () => { console.log("服務(wù)已經(jīng)啟動,3011 端口監(jiān)聽中..."); })
到此這篇關(guān)于使用Express+Node.js對mysql進(jìn)行增改查操作 的文章就介紹到這了,更多相關(guān)mysql增改查 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- node.js中koa和express的差異對比
- Node.js中Express框架使用axios同步請求(async+await)實(shí)現(xiàn)方法
- node.js使用express-jwt報(bào)錯:expressJWT?is?not?a?function解決
- Node.js使用express寫接口的具體代碼
- Node.js?express中的身份認(rèn)證的實(shí)現(xiàn)
- node.js三個(gè)步驟實(shí)現(xiàn)一個(gè)服務(wù)器及Express包使用
- Node.js中Express框架的使用教程詳解
- node.js+express留言板功能實(shí)現(xiàn)示例
- node.js使用express-fileupload中間件實(shí)現(xiàn)文件上傳
- Node.js+express+socket實(shí)現(xiàn)在線實(shí)時(shí)多人聊天室
- Express框架實(shí)現(xiàn)簡單攔截器功能示例
相關(guān)文章
Express + Session 實(shí)現(xiàn)登錄驗(yàn)證功能
本文主要介紹在 Express 框架中,如何使用 Session 來實(shí)現(xiàn)用戶登錄身份驗(yàn)證。對express session實(shí)現(xiàn)登錄驗(yàn)證相關(guān)知識,感興趣的朋友一起看看吧2017-09-09利用node.js爬取指定排名網(wǎng)站的JS引用庫詳解
最近在學(xué)習(xí)node.js爬蟲,由于 nodejs 強(qiáng)大的異步特性,讓我們可以輕松以異步高并發(fā)去爬取網(wǎng)站,下面這篇文章主要給大家介紹了關(guān)于利用node.js爬取指定排名網(wǎng)站的JS引用庫的相關(guān)資料,需要的朋友可以參考下。2017-07-07