1.node端操做數據庫
其中mysql中的connect配置須要換成本身的node
鏈接數據庫 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.jsmysql
// 配置連接數據庫參數 // 數據庫參數用本身的 module.exports = { host : 'localhost', //ip地址,本地默認localhost port : 3306,//端口號 database : '',//數據庫名 user : 'root',//數據庫用戶名 password : 'password'//數據庫密碼 }
mysqlOperation.jssql
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.jsnpm
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('添加成功') })