Node.js MySQL删除查询可帮助您基于过滤条件从表中删除一个或多个记录。
MySQL根据过滤器删除一些记录
MySQL从表中删除所有记录
在表上的记录的一个或多个属性上应用过滤器的情况下,对指定的表执行DELETE FROM查询。
删除记录之前学生表的内容
mysql> select * from students; +---------------+--------+-------+ | name | rollno | marks | +---------------+--------+-------+ | John | 1 | 74 | | Arjun | 2 | 74 | | Prasanth | 3 | 77 | | Adarsh | 4 | 78 | | Raja | 5 | 94 | | Sai | 6 | 84 | | Ross | 7 | 54 | | Monica Gellar | 8 | 86 | | Lee | 9 | 98 | | Bruce Wane | 10 | 92 | | Sukumar | 11 | 99 | | Anisha | 12 | 95 | | Miley | 13 | 85 | | Jobin | 14 | 87 | | Jack | 16 | 82 | | Priya | 17 | 88 | +---------------+--------+-------+ 16 rows in set (0.00 sec)
// 引入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("DELETE FROM students WHERE rollno>10", function (err, result, fields) { // 如果在执行上述查询时出现任何错误,则抛出错误 if (err) throw err; // 如果没有错误,您将得到结果 console.log(result); }); });
运行deleteRecordsFiltered.js-终端输出
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node deleteRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 6, insertId: 0, serverStatus: 34, warningCount: 0, message: '', protocol41: true, changedRows: 0 }
观察结果,受影响的行为6,这意味着已删除6条记录。
以下是在学生表上执行MySQL DELETE FROM查询之后剩下的记录。
删除后的学生表格内容
mysql> select * from students; +---------------+--------+-------+ | name | rollno | marks | +---------------+--------+-------+ | John | 1 | 74 | | Arjun | 2 | 74 | | Prasanth | 3 | 77 | | Adarsh | 4 | 78 | | Raja | 5 | 94 | | Sai | 6 | 84 | | Ross | 7 | 54 | | Monica Gellar | 8 | 86 | | Lee | 9 | 98 | | Bruce Wane | 10 | 92 | +---------------+--------+-------+ 10 rows in set (0.00 sec)
// 引入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("DELETE FROM students", function (err, result, fields) { // 如果在执行上述查询时出现任何错误,则抛出错误 if (err) throw err; // 如果没有错误,您将得到结果 console.log(result); }); });
运行deleteRecordsAll.js-终端输出
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node deleteRecordsAll.js OkPacket { fieldCount: 0, affectedRows: 10, insertId: 0, serverStatus: 34, warningCount: 0, message: '', protocol41: true, changedRows: 0 }
以下是执行后的students表的内容
MySQL Table students 内容
mysql> select * from students; Empty set (0.00 sec)
在此Node.js教程– Node.js MySQL – DELETE FROM中,我们学习了根据条件删除记录或从表中删除所有记录。