MySQL 运算符以及优先级

每种数据库都支持 SQL 语句,但是它们也都有各自支持的运算符。MySQL 所提供的运算符可以直接对表中数据或字段进行运算,共有4 种运算符:算术运算符、 比较运算符、逻辑运算符和位运算符。

算术运算符

运算符 用途
+ 加法
- 减法
* 乘法
/ 或 DIV 除法
% 或 MOD 取余

例如:update user set age=age+1;

比较运算符

运算符 用途
= 等于
<>, != 不等于
> 大于
< 小于
<= 小于等于
>= 大于等于
BETWEEN 在两值之间 >=min&&<=max
NOT BETWEEN 不在两值之间
IN 在集合中
NOT IN 不在集合中
<=> 严格比较两个NULL值是否相等
LIKE 模糊匹配
REGEXP 或 RLIKE 正则式匹配
IS NULL 为空
IS NOT NULL 不为空

例如:select * from user where age between 20 and 22;
select * from user where score in (99.0 100.0);
select * from user where name like ‘zhang%’(全匹配);
select * from user where name like ‘zhang_’(只匹配一个字符);

逻辑运算符

运算符 用途
NOT 或 ! 逻辑非
AND 逻辑与
OR 逻辑或
XOR 逻辑异或

例如:select * from user where sex=‘W’ and score>=90;

位运算符

运算符 用途
& 按位与
^ 按位异或
! 取反
<< 左移
>> 右移
位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。

优先级

运算符的优先级决定了不同的运算符在表达式中计算的先后顺序,一般情况下,级别高的运算符优先进行计算,如果级别相同,MySQL 按表达式的顺序从左到右依次计算,在无法确定优先级的情况下,可以使用圆括号“()”来改变优先级。

由低到高 运算符
1 =(赋值运算)、:=
2 II、OR
3 XOR
4 &&、AND
5 NOT
6 BETWEEN、CASE、WHEN、THEN、ELSE
7 =(比较运算)、<=>、>=、>、<=、<、<>、!=、 IS、LIKE、REGEXP、IN
8 I
9 &
10 <<、>>
11 -(减号)、+
12 *、/、%
13 ^
14 -(负号)、〜(位反转)
15 !

相关推荐

  1. MySQL 运算符以及优先级

    2024-06-08 18:32:01       8 阅读
  2. C 运算符优先级

    2024-06-08 18:32:01       3 阅读
  3. C++ 中的运算符优先级

    2024-06-08 18:32:01       10 阅读
  4. Mysql运算符

    2024-06-08 18:32:01       29 阅读
  5. MySQL-运算符

    2024-06-08 18:32:01       27 阅读
  6. MySQL 运算符

    2024-06-08 18:32:01       14 阅读
  7. MySQL运算符

    2024-06-08 18:32:01       0 阅读

最近更新

  1. Leetcode 415. 字符串相加-大数相加

    2024-06-08 18:32:01       0 阅读
  2. Docker使用心得

    2024-06-08 18:32:01       0 阅读
  3. 富格林:细心发现虚假确保安全

    2024-06-08 18:32:01       0 阅读
  4. 解析文字示例

    2024-06-08 18:32:01       0 阅读
  5. 计算机系统结构期末复习

    2024-06-08 18:32:01       0 阅读
  6. C#中[StructLayout(LayoutKind.Sequential, Pack = 1)]解释

    2024-06-08 18:32:01       0 阅读
  7. MySQL 保姆级教程(八):创建计算字段

    2024-06-08 18:32:01       0 阅读

热门阅读

  1. MATLAB 函数 function

    2024-06-08 18:32:01       6 阅读
  2. 源码编译OpenCV 启用cuda 加速

    2024-06-08 18:32:01       6 阅读
  3. 【Qt】Qt中的几种Timer

    2024-06-08 18:32:01       6 阅读
  4. 8*8LED点阵点亮一个点

    2024-06-08 18:32:01       5 阅读
  5. 系统安全及应用

    2024-06-08 18:32:01       5 阅读
  6. qt c++类继承QWidget和不继承有什么区别

    2024-06-08 18:32:01       6 阅读
  7. 常用sql

    2024-06-08 18:32:01       4 阅读
  8. QTGUI编程入门:解锁图形用户界面设计的奥秘

    2024-06-08 18:32:01       6 阅读
  9. AopProxyUtils.ultimateTargetBean(bean);

    2024-06-08 18:32:01       5 阅读
  10. loading组件封装原理

    2024-06-08 18:32:01       8 阅读
  11. CTF简单介绍

    2024-06-08 18:32:01       8 阅读
  12. Chrome 扩展 background 与content_script 之间通信

    2024-06-08 18:32:01       6 阅读
  13. 强化学习面试题

    2024-06-08 18:32:01       8 阅读