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: '' //数据库名}) //创立一个connectionconnection.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)}) //敞开connectionconnection.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.jslet 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('增加胜利')})