0x00 概述
运算符连接表达式中各个操作数,其作用是用来指明对操作数所进行的运算。常见的运算有数学计算、比较运算、位运算以及逻辑运算。运用运算符可以更加灵活地使用表中的数据,常见的运算符类型有:算术运算符,比较运算符,逻辑运算符,位运算符等。
0x01 运算符概述
运算符是告诉MySQL执行特殊算术或逻辑操作的符号。MySQL的内部运算符很丰富
主要有四大类:算术运算符、比较运算符、逻辑运算符、位操作运算符。
0x02 算术运算符
| 运算符 | 作用 |
|---|---|
| + | 加法运算 |
| - | 减法运算 |
| * | 乘法运算 |
| / | 除法运算 |
| % | 求余运算,返回余数 |
0x03 比较运算符
一个比较运算符的结果总是1、0或者是NULL,比较运算符经常在SELECT的查询条件字句中使用,用来查询满足指定条件的记录
| 运算符 | 作用 |
|---|---|
| = | 等于 |
| <=> | 安全的等于 |
| <> , != | 不等于 |
| <= | 小于等于 |
| >= | 大于等于 |
| > | 大于 |
| < | 小于 |
0x04 逻辑运算符
逻辑运算符的求值所得结果均为1(TRUE)、0(FALSE)
| 运算符 | 作用 | ||
|---|---|---|---|
| NOT或者! | 逻辑非 | ||
| AND或者&& | 逻辑与 | ||
| OR或者` | ` | 逻辑或 | |
| XOR | 逻辑异或 | ||
| IS NULL | 判断一个值是否为NULL | ||
| IS NOT NULL | 判断一个值是否不为NULL | ||
| LEAST | 在有两个或多个参数时,返回最小值 | ||
| GREATEST | 当有2或多个参数时,返回最大值 | ||
| BETWEEN AND | 判断一个值是否落在两个值之间 | ||
| IN | 判断一个值是否落在两个值之间 | ||
| NOT IN | 判断一个值不是IN列表中的任意一个值 | ||
| LIKE | 通配符匹配 | ||
| REGEXP | 正则表达式匹配 | ||
| RLIKE | 正则表达式匹配 | ||
| NOT RLIKE | 就是 RLIKE 取反 | ||
| NOT LIKE | 就是 LIKE 取反 |
0x05 位操作运算符
参与运算符的操作数,按二进制位进行运算
| 运算符 | 作用 |
|---|---|
| & | 位与 |
| ^ | 位异或 |
| << | 位左移 |
| >> | 位右移 |
| ~ | 位取反,反转所有比特 |
| | | 位或 |
