运算符用于对两个操作数执行运算。MySQL中的运算符可以分为以下类:
- 算术运算符
- 比较运算符
- 逻辑运算符
MySQL 算术运算符
算术运算符用于对两个操作数进行算术运算。
运算符 | 名称 | 描述 | 示例 |
---|---|---|---|
+ | 加法 | 两个值相加 | 更多信息 |
- | 减法 | 两个值相减 | 更多信息 |
* | 乘法 | 两个值相乘 | 更多信息 |
/ | 除法 | 一个值除以另一个值 | 更多信息 |
% | 取模 | 返回除法运算的余数 | 更多信息 |
MySQL 比较运算符
比较运算符返回比较两个操作数的值。当值匹配时返回 true,当值不匹配时返回 false。
运算符 | 描述 | 示例 |
---|---|---|
= | 等于 | 更多信息 |
! = | 不等于 | 更多信息 |
< ;> | 不等于 | 更多信息 |
> | 大于 | 更多信息 |
< | 小于 | 更多信息 |
> ;= | 大于或等于 | 更多信息 |
<= | 小于或等于 | 更多信息 |
MySQL 逻辑运算符
用于创建和组合一个或多个条件的逻辑运算符。
运算符 | 描述 |
---|---|
ALL | 如果满足则返回 true所有子查询值都满足条件。 |
AND | 仅包含满足以下条件的行:两个条件都为 true。 |
ANY | 如果有任何子查询值,则返回 true满足条件。 |
BETWEEN | 选择给定范围内的值。 |
EXISTS | 测试子查询中的记录是否存在。 |
IN | 允许您在 WHERE 子句中指定多个值。 |
LIKE | 在列中搜索指定模式。 |
NOT | 仅包含条件不成立的行。 |
NOT LIKE | LIKE 的否定。 |
OR | 当任何条件为真时返回 True。 |
IS NULL | 测试空值。 |
IS NOT NULL | 测试非空值。 |
SOME | 如果任何子查询值满足条件,则返回 true。 |
MySQL 运算符优先级
运算符优先级(操作顺序)是一组规则,反应了首先执行哪些过程以计算给定表达式的约定。
例如,乘法的优先级与加法相同。因此,表达式 1 + 2 × 3 被解释为具有值 1 + (2 × 3) = 7,而不是 (1 + 2) × 3 = 9。当表达式使用指数时,优先于加法和乘法两者。因此 3 + 52 = 28 和 3 × 52 = 75。
下面列出了 MySQL 运算符的优先级。运算符按优先级降序从上到下排列。优先级的运算符先于优先级相对较低的运算符进行计算。
优先级 | 运算符 |
---|---|
17 | INTERVAL |
16 | BINARY, COLLATE |
15 | ! |
14 | - (Unary minus), ~ (Unary bit inversion) |
13 | ^ |
12 | *, /, DIV, %, MOD |
11 | -, + |
10 | <<, >> |
9 | & |
8 | | |
7 | = (Comparison), <=>, >=, >, <=, >, <>, !=, IS, LIKE, REGEXP, IN, MEMBER OF |
6 | BETWEEN, CASE, WHEN, THEN, ELSE, END |
5 | NOT |
4 | AND, && (Logical and) |
3 | XOR |
2 | OR, || (Logical or) |
1 | = (Assignment), := |