- 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 Where 子句
在 MySQL 中,WHERE 子句可用于 SELECT、DELETE 和 UPDATE 查询。WHERE 子句允许您为查询返回的行指定搜索条件。将 mysql 模块与 Node.js 应用程序一起使用时,连接对象的 query() 方法执行查询字符串。要对 SELECT 或 UPDATE 或 DELETE 查询应用过滤器,请使用 WHERE 子句。在本章中,将解释在Node.js应用程序中使用 WHERE 子句的各种示例。
下面显示了 SELECT 语句中 WHERE 子句的语法 -
SELECT
select_list
FROM
table_name
WHERE
search_condition;
search_condition是使用逻辑运算符 AND、OR 和 NOT 的一个或多个表达式的组合。
WHERE 子句中使用的各种运算符是:
运算符 | 描述 |
---|---|
= |
等于 |
> |
大于 |
< |
小于 |
>= |
大于或等于 |
<= |
小于或等于 |
!= |
不相等 |
BETWEEN |
在一定范围内 |
LIKE |
搜索模式 |
IN |
为列指定多个可能的值 |
在 MySQL 中,谓词是一个布尔表达式,其计算结果为 TRUE、FALSE 或 UNKNOWN。SELECT 语句将包含结果集中满足search_condition的任何行。
逻辑运算符
在以下 Node.js 应用程序代码中,传递给 query() 方法的 SELECT 查询字符串使用 WHERE 子句来获取工资超过 25000 卢比的员工记录。
例
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "mydb"
});
var qry =`SELECT name,salary FROM employee WHERE salary>25000;`;
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();
});
输出
RowDataPacket { name: 'Anil', salary: 30000 },
RowDataPacket { name: 'Meena', salary: 27000 }
]
WHERE 子句中的过滤条件可以是复合逻辑表达式,其中使用比较运算符(>、<、>=.<=、==、=)的各个逻辑表达式与 AND、OR 或 NOT 运算符组合在一起。
让我们更改 query() 方法中的 SELECT 查询,以在 salary 字段上应用条件,使其大于 25000 且小于 30000。
例
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "mydb"
});
var qry =`SELECT name,salary FROM employee WHERE salary>25000 and salary>30000;`;
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();
});
输出
BETWEEN
BETWEEN 检查某个字段值是否在给定范围之间。以下查询字符串获取了工资介于 27000 和 30000 之间的员工。在上面的代码中,将 qry 变量更改为以下表达式,保持代码的其余部分不变。
例
var qry =`SELECT name,salary FROM employee WHERE salary BETWEEN 27000 and 30000;`;
输出
RowDataPacket { name: 'Anil', salary: 30000 },
RowDataPacket { name: 'Meena', salary: 27000 }
]
LIKE
如果值与指定的模式匹配,则 LIKE 运算符的计算结果为 TRUE。要形成模式,请使用 % 和 _ 通配符。% 通配符匹配任何零个或多个字符的字符串,而 _ 通配符匹配任何单个字符。
将查询字符串变量更改为以下内容。
var qry =`SELECT name,salary FROM employee WHERE name LIKE '%n%';`;
结果集将包含名称中任何位置包含字母“n”的名称。
[
RowDataPacket { name: 'Anil', salary: 30000 },
RowDataPacket { name: 'Meena', salary: 27000 }
]
IN
MySQL还支持IN运算符和WHERE子句。如果值与列表中的任何值匹配,则 IN 运算符返回 TRUE。
value IN (value1, value2,...)
将代码中的查询字符串更改为 following。
var qry =`SELECT name,salary FROM employee WHERE name IN ('Anil', 'Tina', 'Ravi');`;
这将返回结果集,其中在给定列表中可以找到带有名称的行。
[
RowDataPacket { name: 'Ravi', salary: 25000 },
RowDataPacket { name: 'Anil', salary: 30000 }
]