Express框架连接MySQL数据库操作

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

         在上一篇中已经在Node.js中引入使用了mysql模块进行数据库的基本操作在本篇当中在Express框架中来连接数据库以及操作数据库

Express 项目环境

        这里是通过全局安装Express框架生产的项目环境也可以通过局部安装的方式安装过程可以在往期的篇目中去看一下

express expSqlPro
npm install

 局部安装mysql模块

npm install mysql -S

 连接数据库

        首先引入mysql模块通过createConnection()方法来建立与服务器数据库连接的对象再通过connect()方法来连接数据库然后将这个连接数据库模块进行导出供其他程序require使用

1 . 在 /public/javascript/ 的目录下创建这个文件 conn_sql.js 编写代码

// 引入模块
const mysql = require('mysql');
// 建立连接对象
const conn = mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'root',
    database:'syan'
})
// 连接数据库
conn.connect(function(err){
    if(err){ console.log("连接失败") };
    console.log("连接成功,当前连接线程ID"+conn.threadId);
})
//导出
module.exports = conn;

2 . 测试引入打印在 /routes/index.js文件中编写

const conn= require('../public/javascripts/conn_sql')
npm start 


 操作数据库

数据库已经连接成功了下面要来操作数据库的增删查改

        在 routes/index.js 文件中编写路由文件引入conn_sql.js文件通过请求url http://127.0.0.1:3000/check 时进行查询数据库的数据操作

// index.js文件

var express = require('express');
const conn = require('../public/javascripts/conn_sql');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

/* 查询数据库数据操作 */ 
router.get('/check',function(req,res){
  const sql = "SELECT * FROM sen";
  conn.query(sql,function(err,result){
    if(err){ console.log("查询语句执行异常"); }
    res.send(result);
  })
})

module.exports = router;

通过命令 npm start 将项目跑起来

 在浏览器中输入请求url地址 http://127.0.0.1:3000/check 或 http://localhost:3000/check

         以上就进行了数据库的查询操作

        通过请求url 往数据库里添加数据操作添加一条数据 < sName:SEN ,sAge:18 >

1. 代码编写

/* 插入表数据操作 */
router.get('/insert',function(req,res){
  const sql = "INSERT INTO sen VALUES (?,?)";
  const sqlParams = ['SEN','18'];
  conn.query(sql,sqlParams,function(err){
    if(err){ console.log("查询语句执行异常"); }
    res.send({error:0 ,message: 'success'});
  })
})

2 .测试运行 在浏览器中输入请求url地址http://127.0.0.1:3000/insert

          通过请求url 往数据库里修改数据操作将这一条数据 < sName:LIN ,sAge:18 > 修改为 

< sName:LIN ,sAge:20 >的数据内容

1.代码编写

/* 修改表数据操作 */ 
router.get('/update',function(req,res){
  const sql = "UPDATE sen SET sAge = ? WHERE sName = ?";
  const sqlParams = ['20','LIN']
  conn.query(sql,sqlParams,function(err,result){
    if(err){ console.log("查询语句执行异常"); }
    res.send({error:0 ,message: 'success'});
  })
})

2. 测试运行 在浏览器中输入请求url地址http://127.0.0.1:3000/update

 删

         通过请求url 删除数据库里的数据操作将这一条数据 < sName:LIN ,sAge:20 > 删除

1. 代码编写

/* 删除表数据操作 */
router.get('/del',function(req,res){
  const sql = "DELETE FROM sen WHERE sName = ? AND sAge = ?";
  const sqlParams = ['LIN','20'];
  conn.query(sql,sqlParams,function(err,result){
    if(err){ console.log("查询语句执行异常"); }
    res.send({error:0 ,message: 'success'});
  })
}) 

2. 测试代码 在浏览器中输入请求url地址http://127.0.0.1:3000/del

         以上就是在Express框架中基本的来使用MySQL数据库连接与操作


整合小用

下面来将前面的内容进行一个综合的整合使用

        可以在这个sen表中了解到仅有两个字段<sName>和<sAge>那么通过提供一个两个字段的数据进行管理

// routes/index.js文件
var express = require('express');
const conn = require('../public/javascripts/conn_sql');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

// 从前端拿到的数据信息
let info = { sName:'HAN' , sAge:18 };

// 将info信息插入表数据中
router.get('/insert',function(req,res){
    // 插入表数据前前查询是否有该数据
    conn.query(`SELECT * FROM sen`,function(err,result){
    if(err){ console.log("查询执行异常;") }
    // 遍历info是否存在
    for(const i in result){
        if(result[i].sName == info.sName){
          res.send("已是会员用户");
          return;
        }
    }
    // 尚未存在执行添加
    conn.query(`INSERT INTO sen VALUES ('${info.sName}','${info.sAge}')`,function(err){
        if(err){console.log("添加执行异常;");return;}
        res.send('添加成功');
    })
  })
})

module.exports = router;

        以上就是本篇的全部内容了在express中引入mysql模块进行MySQL数据库的连接和操作且掌握操作数据库的一些基本使用命令感谢大家的支持

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql数据库