Express连接mysql

node连接mysql

采用的是Express框架,因此需安装mysql依赖

npm install mysql --save

连接数据库

const mysql=require('mysql')
const db=mysql.createConnection({
  host:'127.0.0.1',
  user:'root',
  password:'root',
  database:'test'
})
db.connect((err)=>{
  if(err){
    console.log(err)
  }else{
    console.log('connect success')
  }
})

连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。

增删改查操作

插入数据

router.get('/add',(req,res,next)=>{
  pool.getConnection((err,connection)=>{
    let sql = 'INSERT INTO tableName(key1,key2,key3,key4) VALUES (?,?,?,?)'
    connection.query(sql,[1,2,3,4],(err,result)=>{
      if(err){
        console.log(err)
        res.json({
          code:-1,
          message:err
        })
      }else{
        console.log(result)
        res.json({
          code:200,
          message:result
        })
      }
    })
  })
})

查询数据

router.get('/select',(req,res,next)=>{
  pool.getConnection((err,connection)=>{
    let sql='SELECT * FROM tableName WHERE param=?'
    let sql2='SELECT * FROM tableName'
    connection.query(sql,paramValue,(err,result)=>{
      if(err){
        console.log(err)
        res.json({
          code:-1,
          message:err
        })
      }else{
        console.log(result)
        res.json({
          code:200,
          message:result
        })
      }
    })
  })
})

更新数据


router.get('/update',(req,res,next)=>{
  pool.getConnection((err,connection)=>{
    let sql='UPDATE tableName set key1=?,key2=?,key3=?,key4=? WHERE condition=?'
    connection.query(sql,[1,2,3,4,conditionValue],(err,result)=>{
      if(err){
        console.log(err)
        res.json({
          code:-1,
          message:err
        })
      }else{
        console.log(result)
        res.json({
          code:200,
          message:result
        })
      }
    })
  })
})

删除数据

router.get('/delete',(req,res,next)=>{
  pool.getConnection((err,connection)=>{
    let sql='DELETE FROM tableName WHERE condition=?'
    connection.query(sql,conditionValue,(err,result)=>{
      if(err){
        console.log(err)
        res.json({
          code:-1,
          message:err
        })
      }else{
        console.log(result)
        res.json({
          code:200,
          message:result
        })
      }
    })
  })
})

你可能感兴趣的:(javascript,node,mysql,sql,node.js,javascript)