编辑这个页面须要登录或更高权限!

Node.js MySQL DELETE

Node.js MySQL删除记录

Node.js MySQL删除查询可帮助您基于过滤条件从表中删除一个或多个记录。

  • MySQL根据过滤器删除一些记录

  • MySQL从表中删除所有记录

Node.js 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)

Node.js MySQL –从表中删除所有记录

// 引入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中,我们学习了根据条件删除记录或从表中删除所有记录。