- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
Node.js - MySQL Delete
在对 MySQL 数据库执行的 CRUD 操作中,DELETE 查询有助于从表中删除一行或多行。在本章中,我们将展示如何在 Node.js 应用程序中调用 MySQL DELETE 语句。
基本的DELETE查询具有以下语法 -
DELETE FROM table_name
WHERE condition;
尽管 WHERE 子句是可选的,但它很可能是固定使用的,否则它将删除表中的所有行。
简单 DELETE
在以下Node.js代码中,将 DELETE 查询字符串传递给 mysql.query() 方法。该程序将删除所有年龄为 >25 岁的员工记录。
例
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "mydb"
});
var qry ="DELETE FROM employee WHERE age>25;";
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry, function (err, results) {
if (err) throw err;
console.log(results);
});
con.end();
});
输出
OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 34,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0
}
从上述代码中的查询字符串中删除 WHERE 子句。
var qry ="DELETE FROM employee;";
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry, function (err, results) {
if (err) throw err;
console.log(results);
});
con.end();
});
现在打开命令行客户端并运行 SELECT 查询
mysql> select * from employee;
Empty set (0.00 sec)
您可以看到表中没有留下任何记录。不带 WHERE 子句的 DELETE 查询等同于 TRUNCATE 语句。
var qry ="TRUNCATE employee;";
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry, function (err, results) {
if (err) throw err;
console.log(results);
});
con.end();
});
LIMIT 子句
DELETE 查询中的 LIMIT 子句将删除操作限制为指定数字。例如,LIMIT 5 仅删除给定顺序中的前 5 条记录。在这个例子中,我们将使用预安装的世界数据库,以及其中的城市表。
例
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "world"
});
var qry ="DELETE FROM city WHERE CountryCode='IND' ORDER BY population LIMIT 5;";
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry, function (err, results) {
if (err) throw err;
console.log(results);
});
con.end();
});
输出
OkPacket {
fieldCount: 0,
affectedRows: 5,
insertId: 0,
serverStatus: 2,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0
}
最初,City 表有 341 行,其中 IND 为 CountryCode。通过运行上述代码,按人口升序删除了 5 个城市,表中将剩下 336 个城市。您可以通过在运行上述代码之前和之后运行 SELECT COUNT 查询来检查它。
mysql> SELECT COUNT(name) from city WHERE CountryCode='IND';