node.js學習(三)-與mysql的交互,增刪查改代碼示例

在進行node.js與mysql交互之前,請確保已經安裝好mysql、node、npm

簡介與安裝

  1. node.js與mysql交互操作有很多庫,具體可以參考www.npmjs.org/search?q=mysql
  2. 這裏選擇了felixge/node-mysql,用的人比較多,地址 https://github.com/felixge/node-mysql;https://www.npmjs.org/package/mysql
  3. 安裝 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();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章