MySQL 操作符
MySQL 操作符是 MySQL 数据库操作中不可或缺的一部分,它们用于执行各种数据运算、比较、逻辑判断等。
-
MySQL 中有多种操作符可用于数据查询和筛选
-
MySQL 所提供的运算符可以直接对表中数据或字段进行运算
-
MySQL 支持 4 种运算符,分别是:算术运算符、比较预算符、逻辑运算符、位运算符
算术运算符
执行算术运算,它们是最常用、最简单的一类运算符。
运算符 | 作用 | 使用方法 |
---|---|---|
+ | 加法运算 | 用于获得一个或多个值的和 |
- | 减法运算 | 用于从一个值中减去另一个值 |
* | 乘法运算 | 使数字相乘,得到两个或多个值的乘积 |
/ | 除法运算,返回商 | 用一个值除以另一个值得到商 |
%, MOD(a,b)=>a%b |
求余运算,返回余数 | 用一个值除以另一个值得到余数 |
-
行除法运算时,由于 64 无法被 3 整除,因此 MySQL 对 64/3 求商的结果保存到了小数点后面四位,结果为 21.3333
-
除数为 0 的除法是没有意义的。所以在除法运算和取余运算中,如果除数为 0,返回结果为 NULL
比较运算符
主要用于数值的比较、字符串的匹配(字符串比较不区分大小写)、表达式的值等。
当使用 SELECT
语句进行查询时,MySQL 允许用户对表达式的左边操作数和右边操作数进行比较,比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。
运算符 | 作用 |
---|---|
= | 等于 |
<=> | 安全的等于 |
<> 或者 != | 不等于 |
<= | 小于等于 |
>= | 大于等于 |
> | 大于 |
IS NULL 或者 ISNULL | 判断一个值是否为空 |
IS NOT NULL | 判断一个值是否不为空 |
BETWEEN AND | 判断一个值是否落在两个值之间 |
1)等于运算(=)
- 若有一个或两个操作数为 NULL,则比较运算的结果为 NULL。
- 若两个操作数都是字符串,则按照字符串进行比较。
- 若两个操作数均为整数,则按照整数进行比较。
- 若一个操作数为字符串,另一个操作数为数字,则 MySQL 可以自动将字符串转换为数字。
- NULL不能被用于比较运算。
2)安全等于运算符 (<=>)
<=>
操作符和 =
操作符类似,但 <=>
可以用来判断 NULL 值:
- 当两个操作数均为 NULL 时,其返回值为 1 而不为 NULL;
- 当一个操作数为 NULL 时,其返回值为 0 而不为 NULL。
3)不等于运算符(< > 或 !=)
<>
和 !=
用于判断数字、字符串、表达式是否不相等。
- 对于
<>
和!=
,如果两侧操作数不相等,返回值为 1,否则返回值为 0; - 如果两侧操作数有一个是 NULL,那么返回值也是 NULL。
4) 比大小运算符( >、<、>=、<= )
- 条件成立返回值为1,否则返回值为0。
- 如果两侧操作数有一个是 NULL,那么返回值也是 NULL。
5)BETWEEN AND 运算符
BETWEEN AND
运算符用来判断表达式的值是否位于两个数之间,或者说是否位于某个范围内,语法格式如下:
expr BETWEEN low AND high
#等价于
expr >= low AND value <= high
expr
表示要判断的表达式,low 表示最小值,high 表示最大值。如果
expr
大于等于 low 并且小于等于 high,则返回值为 1,否则返回值为 0。
- 对于字符串类型的比较,按字母表中字母顺序进行比较。
- 若expr、low、high中任一一个值为NULL,则返回值为NULL
NOT BETWEEN AND
expr NOT BETWEEN low AND<