您可以使用MySQL UPDATE查詢更新表的記錄。
MySQL更新record(s)表
MySQL更新表的所有記錄
考慮到由于人為錯(cuò)誤,在students表中插入的記錄標(biāo)記為74而不是84?,F(xiàn)在,我們將執(zhí)行一個(gè)MySQL更新查詢,該更新更新的marks列的值為84,其中值為74。
// 引入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", // 對(duì)應(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); }); });
在終端中運(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 }
考慮一種情況,由于某種原因取消了對(duì)學(xué)生的考試,您想重新進(jìn)行考試。因此,您希望將所有學(xué)生的分?jǐn)?shù)都更新為0。以下是Node.js MySQL UPDATE查詢示例,它顯示了如何更新表的所有記錄。
// 引入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", // 對(duì)應(yīng)的密碼 database: "studentsDB" // 使用指定的數(shù)據(jù)庫 }); // 建立與數(shù)據(jù)庫的連接。 con.connect(function(err) { if (err) throw err; // 如果連接成功 con.query("UPDATE students SET marks=84", function (err, result, fields) { // 如果在執(zhí)行上述查詢時(shí)出現(xiàn)任何錯(cuò)誤,則拋出錯(cuò)誤 if (err) throw err; // 如果沒有錯(cuò)誤,您將得到結(jié)果 console.log(result); }); });
觀察到查詢中沒有WHERE子句,因此選擇了所有記錄進(jìn)行更新過程。
在此Node.js教程– Node.js MySQL – UPDATE Table Query中,我們學(xué)習(xí)了根據(jù)條件更新記錄或更新表的所有記錄。