node连接数据库

1.node端操作数据库
其中mysql中的connect配置需要换成自己的

连接数据库

var mysql = require('mysql') //调用MySQL模块 mysql模块要安装 $ npm install mysql
 
//创建一个connection
 
var connection = mysql.createConnection({
    host: '', //主机
    user: 'root', //MySQL认证用户名
    password: 'password', //MySQL认证用户密码
    port: '3306', //端口号
    database: '' //数据库名
})
 
//创建一个connection
connection.connect(function (err) {
    if (err) {
        console.log('[query] - :' + err)
        return
    }
    console.log('[connection connect] succeed!')
})

/**

  • 以下以info_user表为例
    */
//执行SQL语句---查询
connection.query('SELECT * FROM info_user WHERE user_name = "project_admin_2"', function (err, results, fields) {
    if (err) {
        console.log('[SELECT] - :' + err)
        return
    }
    console.log('The solution is: ', results)
})
 
//执行SQL语句---添加
connection.query('INSERT INTO info_user(user_name, project_id, role_flag, graph_info) VALUES(?, ?, ?, ?)',['jiushugao', '1', '1','{}'], (err, results) => {
    if(err){
        console.log('[INSERT] - :' + err)
    }
    console.log(results)
})
 
//执行SQL语句---删除
connection.query('DELETE FROM info_user  WHERE user_name = "jiushugao"', (err, results) => {
    if(err){
        console.log('[DELETE] - :' + err)
    }
    console.log(results)
})
 
//执行SQL语句---更新
connection.query('UPDATE info_user SET role_flag = "2" WHERE user_name = "jiushugao"', (err, results) => {
    if(err){
        console.log('[UPDATE] - :' + err)
    }
    console.log(results)
})
 
//关闭connection
connection.end(function (err) {
    if (err) {
        return;
    }
    console.log('[connection end] succeed!')
 
})

可以将他们封装起来使用效果更佳,下面分三个文件

mysql.config.js
// 配置链接数据库参数
// 数据库参数用自己的
module.exports = {
    host : 'localhost',  //ip地址
    port : 3306,//端口号
    database : 'das',//数据库名
    user : 'root',//数据库用户名
    password : 'password'//数据库密码
}
mysqlOperation.js
let mysql = require('mysql')//引入mysql模块
var databaseConfig = require('./mysql.config')  //引入数据库配置模块中的数据
 
//向外暴露方法
module.exports = {
    query : function(sql,params,callback){
        //每次使用的时候需要创建链接,数据操作完成之后要关闭连接
        var connection = mysql.createConnection(databaseConfig);       
        connection.connect(function(err){
            if(err){
                console.log('数据库连接失败')
                throw err
            }
         //开始数据操作
         //传入三个参数,第一个参数sql语句,第二个参数sql语句中需要的数据,第三个参数回调函数
        connection.query( sql, params, function(err,results,fields ){
           if(err){
                console.log('数据操作失败')
                throw err
            }
            //将查询出来的数据返回给回调函数
            callback && callback(results, fields)
            //results作为数据操作后的结果,fields作为数据库连接的一些字段
            //停止链接数据库,必须再查询语句后,要不然一调用这个方法,就直接停止链接,数据操作就会失败
             connection.end(function(err){
                  if(err){
                      console.log('关闭数据库连接失败!')
                      throw err
                  }
              })
           })
       })
    }
}

完成上述配置之后就可以执行了

demo.js

var db = require('../mysql/mysqlOperation')
 
// 查询实例
var selectSql = 'SELECT * FROM info_user WHERE user_name = "project_admin_2"'
db.query(selectSql, [], function (result, fields) {
    console.log('查询结果:')
    console.log(result)
})
 
//添加实例
var addSql = 'INSERT INTO info_user(user_name, project_id, role_flag, graph_info) VALUES(?, ?, ?, ?)'
var addSqlParams = ['jiushugao', '1', '1', '{}']
db.query(addSql, addSqlParams, function (result, fields) {
    console.log('添加成功')
})

你可能感兴趣的