3.MySQL的运算符

sqlMySQL的运算符主要包括算术运算符、逻辑运算符、比价运算符和位运算符

算术运算符

MySQL支持的算术运算符包括加、减、乘、除、模运算

运算符作用
+
-
*
/,DIV
%,MOD模运算

+ 返回一个或多个值的和

- 返回一个值减去另一个值

* 返回一个或多个值的乘积

/ 一个值除以另一个值的商

% 一个值除以另一个值的余数

除法和模运算如果除数为零,属于非法运算,返回值为NULL

select 10/0,100%0;

在这里插入图片描述

比较运算符

比价运算符用来比较左右两边的值,比较结果为真,返回1,为假返回0,比较结果不确定放回NULL

运算符作用
=等于
!= 或<>不等于
<=>NULL安全的等于
<小于
<=小于等于
>大于
>=大于等于
BETWEEN存在于指定范围
IN存在于指定集合
IS NULL查询结果集是否为NULL
IS NOT NULL查询结果集是否部位NULL
LIKE通配符匹配
REGEXP或RLIKE正则表达式匹配

比较运算符可以用于比较数字、字符串和表达式。数字作为浮点数比较,字符串以不区分大小写的方式比较。

  • =运算符用于比较两边的操作数是否相等,相等则返回1,否则返回0,NULL用于=比较
select 1=1,1=0,NULL=NULL;

在这里插入图片描述

  • <>!=运算符,和=相反,两边的操作数不同返回1,相等返回0,NULL不等用<>比较
select 1<>1,1<>0,NULL<>NULL;

在这里插入图片描述

  • <=>NULL安全的 运算符,和=类似,两边的操作数相等时返回1,两边的操作数不相等时返回0,与=不同的是,即使两边的操作数都为NULL也可以正确比较。
select 1<=>1,1<=>0,NULL<=>NULL;

在这里插入图片描述

  • <运算符,当左侧的操作数小于右侧的操作数时,返回1,否则返回0
select 0<1,1<1,1<0;

在这里插入图片描述

  • <=运算符,当左侧的操作符小于等于右侧的操作符时返回1,否则返回0
select 1<=1,1<=0,1<=0,'a'<='b';

在这里插入图片描述

  • >运算符,当左侧操作数大于右侧操作数时,返回1,否则返回0
select 1>1,1>0,'a'>'b','c'>'b';

在这里插入图片描述

  • >=操作符,当左侧操作符大于等于右侧操作符时,返回1,否则返回0
select 1>=1,1>=0,0>=1,'c'>='b';

在这里插入图片描述

  • BETWEEN操作符的格式为a BETWEEN min AND max,如果a大于等于min并且小于等于max,则返回1,否则返回0,当a、min、max类型相同时,等价于a >= min AND a <=max,当类型不同时,hi遵循类型转换原则,先做类型转换,在进行比较。
select 10 BETWEEN 10 AND 20,9 BETWEEN 10 AND 20;

在这里插入图片描述

  • IN运算符的格式为a in (value1,values2,...,valuen),如果a存在于列表中则返回1,否则返回0
select 1 in (1,2,3), 't' in ('t','a',1,'b'),0 in (1,2);

在这里插入图片描述

  • IS NULL的使用格式为 a IS NULL,如果a的值为NULL,返回1,否则返回0
select 1 IS NULL,NULL iS NULL;

在这里插入图片描述

  • IS NOT NULL的使用格式为 a IS NOT NULL,和 IS NULL相反,如果a的值不为NULL则返回1,否则返回0
select 1 IS NOT  NULL,NULL IS NOT  NULL;

在这里插入图片描述

  • LIKE运算符的使用格式为 a LIKE %123%,如果a中包含123,返回1,否则返回0
select 123456 LIKE '%123%',123456 LIKE '123%',123456 LIKE '%321%';

在这里插入图片描述

  • REGEXP运算符的使用格式为 str REGEXP str_pat 当str中含有与str_pat相匹配的字符串时,返回1,否则返回0
select 'abcdef' REGEXP 'ab','abgfty' REGEXP 'k';

在这里插入图片描述

逻辑运算符

逻辑运算符又称布尔运算符,用来判断表达式的真假,MySQL支持4种逻辑运算符

运算符作用
NOT或!·逻辑非
AND或&&逻辑与
OR 或 ||逻辑或
XOR逻辑异或
  • NOT表示逻辑非。返回结果和操作数相反,如果操作数为假则返回1,如果操作数为真则返回0,NOT NULL的返回值为NULL
select NOT 0,NOT 1,NOT NULL;

在这里插入图片描述

  • AND&&表示逻辑与,当操作数中不存在非0或非NULL的值时,返回1,当一个或多个操作数为0时,返回0,当操作数中有NULL时返回NULL。
select 1 && 2 && 4,1 && 0 && 2,1 && NULL && 2;

在这里插入图片描述

  • OR||表示逻辑或,当两个操作数均为非 NULL 值时,如有任意一个操作数为非零值,则结果为 1,否则结果为 0。当有一个操作数为 NULL时,如另一个操作数为非零值,则结果为 1,否则结果为 NULL。假如两个操作数均为 NULL,则所得结果为 NULL
select 1 || 0 || NULL,0 || 0 || 0, NULL || 0 || NULL,NULL || NULL || NULL;

在这里插入图片描述

  • XOR表示逻辑异或,当任意一个操作数为NULL时,返回NULL,当两个操作数都不为NULL时,如果两个操作数真假相异返回1,否则返回0
select NULL XOR 1,NULL XOR 0,1 XOR 0,1 XOR 1,0 XOR 0;

在这里插入图片描述

位运算符

位运算是将给定的操作数转化为二进制后,对各个操作数每一位都进行指定的逻辑运算,得到的二进制结果转换为十进制数后就是位运算的结果

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

MySQL运算符优先级

优先级运算符
1:=
2|| OR XOR
3&&, AND
4NOT
5BETWEEN, CASE, WHEN, THEN, ELSE
6=, <=>,> , >=, <, <=,<>, !=,IS,LIKE,REGEXP,IN
7|
8&
9<<, >>
10-,+
11* , /, DIV, %, MOD
12^
13-,~
14!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姑苏_IT

创作不易,谢你打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值