在進行node.js與mysql交互之前,請確保已經安裝好mysql、node、npm
簡介與安裝
- node.js與mysql交互操作有很多庫,具體可以參考www.npmjs.org/search?q=mysql
- 這裏選擇了felixge/node-mysql,用的人比較多,地址 https://github.com/felixge/node-mysql;https://www.npmjs.org/package/mysql
- 安裝 npm install mysql 組件
注意:安裝前建一個node目錄,cd到該目錄,這樣執行安裝命令npm install mysql 時,會出現的node-modules,方便後續操作
4.新建sqlTest.js文件
結束數據庫連接的兩種方法和區別
end()和destory()
end()是所有的query執行完畢後才結束
destory()可以在任意位置結束數據庫操作
var mysql = require("mysql");
var connection = mysql.createConnection({
host:"localhost",
user:"root",
password:"root",
port:3306
});
connection.connect(function(err){
if(err){
console.info(err);
return ;
}
console.log("連接成功");
});
//執行語句
connection.query("SELECT 1+1 as solution",function(err,rows,fields){
if(err){
console.log(err);
return;
}
console.log(rows[0].solution);
});
//關閉動作
connection.end(function(err){
if(err){
return;
}
console.log("guanbi");
});
5.運行成功 執行 node sqlTest.js
查詢代碼示例
var mysql = require("mysql");
var connection = mysql.createConnection({
host:"localhost",
user:"root",
password:"root",
port:3306,
database:'nodesample'
});
//創建連接
connection.connect();
//制定語句
var userGetSql = "SELECT * FROM userinfo";
connection.query(userGetSql,function(err,result){
if(err){
console.log('[UPDATE ERROR]-:',err.message);
return;
}
console.log("-------INSERT-------");
console.log("UPDATE affectedRows:"+result[0].Id);
});
//關閉連接
connection.end();
增加代碼示例
var mysql = require("mysql");
var connection = mysql.createConnection({
host:"localhost",
user:"root",
password:"root",
port:3306,
database:'nodesample'
});
//創建連接
connection.connect();
//制定語句
var userAddSql = "INSERT INTO userinfo(Id,UserName,UserPass) VALUES(0,?,?)";
var userAddSql_Params = ['Wilson','abcd'];
connection.query(userAddSql,userAddSql_Params,function(err,result){
if(err){
console.log('[INSERT ERROR]-:',err.message);
return;
}
console.log("-------INSERT-------");
console.log("INSERT ID:"+result.toString());
});
//關閉連接
connection.end();
修改代碼示例
var mysql = require("mysql");
var connection = mysql.createConnection({
host:"localhost",
user:"root",
password:"root",
port:3306,
database:'nodesample'
});
//創建連接
connection.connect();
//制定語句
var userUpSql = "UPDATE userinfo SET UserName=?,UserPass=? where Id=?";
var userUpSql_Params = ['張望','a對對對cd',2];
connection.query(userUpSql,userUpSql_Params,function(err,result){
if(err){
console.log('[UPDATE ERROR]-:',err.message);
return;
}
console.log("-------INSERT-------");
console.log("UPDATE affectedRows:"+result.affectedRows);
});
//關閉連接
connection.end();
刪除代碼示例
var mysql = require("mysql");
var connection = mysql.createConnection({
host:"localhost",
user:"root",
password:"root",
port:3306,
database:'nodesample'
});
//創建連接
connection.connect();
//制定語句
var userDelSql = "delete FROM userinfo where Id = ?";
var userDelSqlParams = [1];
connection.query(userDelSql,userDelSqlParams,function(err,result){
if(err){
console.log('[delete ERROR]-:',err.message);
return;
}
console.log("-------delete-------");
console.log("delete affectedRows:"+result.affectedRows);
});
//關閉連接
connection.end();