- 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 - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 查询数据
- Node.js - MySQL WHERE 条件
- Node.js - MySQL 排序
- Node.js - MySQL 删除
- Node.js - MySQL 更新
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除
- Node.js - MongoDB 更新
- Node.js - MongoDB 限制
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - MySQL 删除
在对 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 条记录。对于此示例,我们将使用预安装的 world 数据库及其中的 city 表。
示例
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 行,CountryCode 为 IND。通过运行上述代码删除人口按升序排列的前 5 个城市后,表中将剩下 336 个城市。您可以通过在运行上述代码之前和之后运行 SELECT COUNT 查询来检查它。
mysql> SELECT COUNT(name) from city WHERE CountryCode='IND';
广告