深入浅出MySQL阅读笔记三:运算符

深入浅出MySQL阅读笔记三:运算符

1. 算术运算符

运算符 作用
+ 加法
- 减法
* 乘法
/,DIV 除法,返回商
%,MOD 除法,返回余数
1
2
3
4
5
6
mysql> select 4 DIV 2,3 DIV 7,3/7,MOD(7,3);
+---------+---------+--------+----------+
| 4 DIV 2 | 3 DIV 7 | 3/7 | MOD(7,3) |
+---------+---------+--------+----------+
| 2 | 0 | 0.4286 | 1 |
+---------+---------+--------+----------+

2. 比较运算符

运算符 作用
= 等于
<>或!= 不等于
<=> NULL 安全的等于(NULL-safe)
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 存在与指定范围
IN 存在于指定集合
IS NULL 为 NULL
IS NOT NULL 不为 NULL
LIKE 通配符匹配
REGEXP 或 RLIKE 正则表达式匹配
1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- <=>和=的区别
mysql> select 1=1,null = null,null <=> null;
+-----+-------------+---------------+
| 1=1 | null = null | null <=> null |
+-----+-------------+---------------+
| 1 | NULL | 1 |
+-----+-------------+---------------+
-- “REGEXP”运算符的使用格式为“str REGEXP str_pat”
mysql> select 'abcdef' regexp 'ab' ,'abcdefg' regexp 'k';
+----------------------+----------------------+
| 'abcdef' regexp 'ab' | 'abcdefg' regexp 'k' |
+----------------------+----------------------+
| 1 | 0 |
+----------------------+----------------------+

比较运算符的返回结果是 1 或者 0

3. 逻辑运算符

运算符 作用
NOT 或! 逻辑非
AND 或&& 逻辑与
OR 或 \ \ 逻辑或
XOR 逻辑异或

XOR:

  • 有null,返回null
  • 没有null,同0异1

4. 位运算符

运算符 作用
& 位与(位 AND)
\ 位或 (位 OR )
\^ 位异或(位 XOR)
~ 位取反
>> 位右移
<< 位左移

5. 小结

本章主要介绍了 MySQL 中支持的各种运算符。这些运算符可以帮助用户完成算术、比较、
逻辑和位逻辑操作,大家在使用时要注意运算符的优先级。另外,在使用比较运算符时要保
证比较的操作数类型是一致的,这样可以避免由于操作数类型的不一致而得出错误的数据。