NodeJS 基礎(chǔ)教程

NodeJS Express.js

NodeJS 緩沖&URL

NodeJS MySql

NodeJS MongoDB

NodeJS 文件(FS)

NodeJS 其他

Node.js MySQL 結(jié)果對象

在Node.js中執(zhí)行MySQL查詢時(shí),名為Result Object的對象將返回到回調(diào)函數(shù)。結(jié)果對象包含提供有關(guān)MySQL Server中查詢執(zhí)行信息的結(jié)果集或?qū)傩浴?/p>

Node.js MySQL結(jié)果對象

結(jié)果對象的內(nèi)容取決于對MySQL Server進(jìn)行的SQL查詢。下表內(nèi)容描述了查詢的結(jié)果對象,例如選擇,插入,更新和刪除。

MySQL 查詢結(jié)果對象
SELECT FROM包含記錄的結(jié)果集
INSERT INTO包含執(zhí)行狀態(tài)的對象
UPDATE包含執(zhí)行狀態(tài)的對象
DELETE FROM

包含執(zhí)行狀態(tài)的對象

我們將在以下示例的幫助下了解如何訪問結(jié)果集中記錄的屬性以及如何訪問執(zhí)行狀態(tài)的屬性。

  • MySQL SELECT FROM 查詢– 訪問ResultSet

  • MySQL INSERT INTO 查詢–訪問結(jié)果對象的屬性

  • MySQL UPDATE 查詢-訪問結(jié)果對象的屬性

  • MySQL DELETE FROM 查詢-訪問結(jié)果對象的屬性

示例– MySQL SELECT FROM查詢 – 訪問ResultSet

我們可以使用點(diǎn)(.)運(yùn)算符將結(jié)果集中的記錄作為數(shù)組和記錄的屬性來訪問。

// Node.js MySQL結(jié)果對象示例
// 引入mysql模塊
var mysql = require('mysql'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
// 建立與數(shù)據(jù)庫的連接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功
  con.query("SELECT * FROM students", function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時(shí)出現(xiàn)任何錯(cuò)誤,則拋出錯(cuò)誤
    if (err) throw err; 
    // 如果沒有錯(cuò)誤,您將得到結(jié)果
    // 對結(jié)果中的所有行進(jìn)行迭代
    Object.keys(result).forEach(function(key) { 
      var row = result[key]; 
      console.log(row.name) 
    }); 
  }); 
 });

使用終端中的節(jié)點(diǎn)運(yùn)行以上程序

終端輸出

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node selectUseResultObject.js 
John
Arjun
Prasanth
Adarsh
Raja
Sai
Ross
Monica
Lee
Bruce
Sukumar

示例– MySQL INSERT INTO查詢

我們可以使用DOT(.)運(yùn)算符訪問結(jié)果對象的屬性。

// 引入mysql模塊
var mysql = require('mysql'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
// 建立與數(shù)據(jù)庫的連接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功
  var records = [ 
    ['Jack', 16, 82], 
    ['Priya', 17, 88], 
    ['Amy', 15, 74] 
  ]; 
  con.query("INSERT INTO students (name,rollno,marks) VALUES ?", [records], function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時(shí)出現(xiàn)任何錯(cuò)誤,則拋出錯(cuò)誤
    if (err) throw err; 
    // 如果沒有錯(cuò)誤,您將得到結(jié)果
    console.log(result); 
    console.log("Number of rows affected : " + result.affectedRows); 
    console.log("Number of records affected with warning : " + result.warningCount); 
    console.log("Message from MySQL Server : " + result.message); 
  }); 
 });

使用終端中的節(jié)點(diǎn)運(yùn)行以上程序

終端輸出

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node MultipleInsertExample.js 
OkPacket { 
  fieldCount: 0, 
  affectedRows: 3, 
  insertId: 0, 
  serverStatus: 2, 
  warningCount: 0, 
  message: '&Records: 3  Duplicates: 0  Warnings: 0', 
  protocol41: true, 
  changedRows: 0 } 
Number of rows affected : 3
Number of records affected with warning : 0
Message from MySQL Server : &Records: 3 Duplicates: 0 Warnings: 0

示例– MySQL UPDATE查詢

我們可以使用DOT(.)運(yùn)算符訪問結(jié)果對象的屬性。

// 引入mysql模塊
var mysql = require('mysql'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
// 建立與數(shù)據(jù)庫的連接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功
  con.query("UPDATE students SET marks=84 WHERE marks=74", function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時(shí)出現(xiàn)任何錯(cuò)誤,則拋出錯(cuò)誤
    if (err) throw err; 
    // 如果沒有錯(cuò)誤,您將得到結(jié)果
    console.log(result); 
    console.log("Number of rows affected : " + result.affectedRows); 
    console.log("Number of records affected with warning : " + result.warningCount); 
    console.log("Message from MySQL Server : " + result.message); 
  }); 
 });

使用終端中的節(jié)點(diǎn)運(yùn)行以上程序

終端輸出

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node UpdateRecordsFiltered.js 
OkPacket { 
  fieldCount: 0, 
  affectedRows: 3, 
  insertId: 0, 
  serverStatus: 34, 
  warningCount: 0, 
  message: '(Rows matched: 3  Changed: 3  Warnings: 0', 
  protocol41: true, 
  changedRows: 3 } 
Number of rows affected : 3
Number of records affected with warning : 0
Message from MySQL Server : (Rows matched: 3 Changed: 3 Warnings: 0

示例– MySQL從查詢中刪除

我們可以使用DOT(.)運(yùn)算符訪問結(jié)果對象的屬性。

// 引入mysql模塊
var mysql = require('mysql'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
// 連接到數(shù)據(jù)庫。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功
  con.query("DELETE FROM students WHERE rollno>10", function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時(shí)出現(xiàn)任何錯(cuò)誤,則拋出錯(cuò)誤
    if (err) throw err; 
    // 如果沒有錯(cuò)誤,您將得到結(jié)果
    console.log(result); 
    console.log("Number of rows affected : " + result.affectedRows); 
    console.log("Number of records affected with warning : " + result.warningCount); 
    console.log("Message from MySQL Server : " + result.message); 
  }); 
 });

使用終端中的節(jié)點(diǎn)運(yùn)行以上程序

終端輸出

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node deleteRecordsFiltered.js 
OkPacket { 
  fieldCount: 0, 
  affectedRows: 6, 
  insertId: 0, 
  serverStatus: 34, 
  warningCount: 0, 
  message: '', 
  protocol41: true, 
  changedRows: 0 } 
Number of rows affected : 6
Number of records affected with warning : 0
Message from MySQL Server :

結(jié)論

在本Node.js教程– Node.js MySQL –結(jié)果對象中,我們學(xué)習(xí)了訪問結(jié)果集的記錄,并通過示例訪問了包含有關(guān)查詢執(zhí)行信息的結(jié)果對象的屬性。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清