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