MySQL 所提供的运算符可以直接对表中数据或字段进行运算,进而实现用户的新需求,增强了 MySQL 的功能。
MySQL 支持 4 种运算符,分别是:
1 算术运算符
运算符 作用 使用方法
+ 加法运算 用于获得一个或多个值的和
- 减法运算 用于从一个值中减去另一个值
* 乘法运算 使数字相乘,得到两个或多个值的乘积
/ 除法运算,返回商 用一个值除以另一个值得到商
%,MOD 求余运算,返回余数 用一个值除以另一个值得到余数
2 比较运算符
= 等于
<=> 安全的等于
<> 或者 != 不等于
<= 小于等于
>= 大于等于
> 大于
IS NULL 或者 ISNULL 判断一个值是否为空
IS NOT NULL 判断一个值是否不为空
BETWEEN AND 判断一个值是否落在两个值之间
3 逻辑运算符
NOT 或者 ! 逻辑非
AND 或者 && 逻辑与
OR 和 || 逻辑或
XOR 逻辑异或
4 位运算符
运算符 说明 使用形式 举例
| 位或 a | b 5 | 8
& 位与 a & b 5 & 8
^ 位异或 a ^ b 5 ^ 8
~ 位取反 ~a ~5
<< 位左移 a << b 5 << 2,表示整数 5 按位左移 2 位
>> 位右移 a >> b 5 >> 2,表示整数 5 按位右移 2 位
运算符的优先级决定了不同的运算符在表达式中计算的先后顺序,下表列出了 MySQL 中的各类运算符及其优先级。
优先级由低到高排列 :
1 =(赋值运算)、:=
2 II、OR
3 XOR
4 &&、AND
5 NOT
6 BETWEEN、CASE、WHEN、THEN、ELSE
7 =(比较运算)、<=>、>=、>、<=、<、<>、!=、 IS、LIKE、REGEXP、IN
8 |
9 &
10 <<、>>
11 -(减号)、+
12 *、/、%
13 ^
14 -(负号)、〜(位反转)
15 !
可以看出,不同运算符的优先级是不同的。一般情况下,级别高的运算符优先进行计算,如果级别相同,MySQL 按表达式的顺序从左到右依次计算。
在无法确定优先级的情况下,可以使用圆括号“()”来改变优先级,并且这样会使计算过程更加清晰。