您可以使用MySQL UPDATE查询更新表的记录。
MySQL更新record(s)表
MySQL更新表的所有记录
考虑到由于人为错误,在students表中插入的记录标记为74而不是84。现在,我们将执行一个MySQL更新查询,该更新更新的marks列的值为84,其中值为74。
// 引入mysql模块 var mysql = require('mysql'); // 创建具有所需详细信息的连接变量 var con = mysql.createConnection({ host: "localhost", // 运行mysql的服务器的IP地址 user: "arjun", // mysql数据库的用户名 password: "password", // 对应的密码 database: "studentsDB" // 使用指定的数据库 }); // 建立与数据库的连接。 con.connect(function(err) { if (err) throw err; // 如果连接成功 con.query("UPDATE students SET marks=84 WHERE marks=74", function (err, result, fields) { // 如果在执行上述查询时出现任何错误,则抛出错误 if (err) throw err; // 如果没有错误,您将得到结果 console.log(result); }); });
在终端中运行以上程序
终端输出
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 }
考虑一种情况,由于某种原因取消了对学生的考试,您想重新进行考试。因此,您希望将所有学生的分数都更新为0。以下是Node.js MySQL UPDATE查询示例,它显示了如何更新表的所有记录。
// 引入mysql模块 var mysql = require('mysql'); // 创建具有所需详细信息的连接变量 var con = mysql.createConnection({ host: "localhost", // 运行mysql的服务器的IP地址 user: "arjun", // mysql数据库的用户名 password: "password", // 对应的密码 database: "studentsDB" // 使用指定的数据库 }); // 建立与数据库的连接。 con.connect(function(err) { if (err) throw err; // 如果连接成功 con.query("UPDATE students SET marks=84", function (err, result, fields) { // 如果在执行上述查询时出现任何错误,则抛出错误 if (err) throw err; // 如果没有错误,您将得到结果 console.log(result); }); });
观察到查询中没有WHERE子句,因此选择了所有记录进行更新过程。
在此Node.js教程– Node.js MySQL – UPDATE Table Query中,我们学习了根据条件更新记录或更新表的所有记录。