MySQL中的运算符

算数运算符

  • +:加法
  • -:减法
  • *:乘法
  • /DIV:除法
  • %MOD:模运算

比较运算符

当使用SELECT语句进行查询时,MySQL允许用户对表达式的左边操作数和右边的操作数进行比较,比较结果真,则返回1,为加则返回0,比较结果不确定则返回NULL

运算符作用
=等于,NULL不可以用“=”比较
<> 或 !=不等于,不能比较NULL
<=>NULL安全的等于(NULL-safe),可以比较NULL
<小于
<=小于等于
>大于
>= >= 大于等于
BETWEEN存在于指定范围
IN存在于指定集合
IS NULL为NULL
IS NOT NULL不为NULL
LIKE通配符匹配
REGEXP或RLIKE正则表达式匹配

- BETWEEN运算符使用格式为:a BETWEEN min AND max, 当a大于等于min并且小于等于max时,返回值为1,否则返回0;当操作数a,min,max类型相同时,表达式等价于a >= min and a <= max,当操作数类型不同时,比较时会遵循类型转换原则进行转换。
- IN运算符使用格式为:a IN (value1, value2, ..., valuen),当a在列表中,则返回1,否则返回0。
- LIKE运算符:a LIKE %123%

百分号(%)通配符:表示任何字符出现任意次数(不能匹配NULL)。例如查找所有以abc开头的name:

SELECT name
FROM TABLE
WHERE name LIKE 'abc%';

检索任意地方出现词abc的name

SELECT name
FROM TABLE
WHERE name LIKE '%abc%';

检索以a开头,以b结尾的name

SELECT name
FROM TABLE
WHERE name LIKE 'a%b';

下划线(_)通配符:与%类似,但只能匹配一个字符。

注意通配符搜索时间较长,应该尽量避免使用。

  • REGEXP运算符: str REGEXP str_pat,当str字符串中含有str_pat相匹配的字符串时,返回1,否则返回0。

.:可以匹配任意一个字符

SELECT name
FROM TABLE
WHERE name REGEXP '.000'
ORDER BY name;

区分大小写:BINARY关键字

SELECT name
FROM TABLE
WHERE name REGEXP BINARY 'Abc .000';

OR匹配:|。例如’1000|2000’。

匹配几个字符之一:[]。例如’[123]abc’匹配1abc或2abc或3abc。

匹配特殊字符:例如匹配. 。应使用\\.。则应使用\\为前导。

定位符

  1. ^:文本的开始
  2. $:文本的结尾
  3. [[:<:]]:词的开始
  4. [[:>:]]:词的结尾

逻辑运算符

又称布尔运算符,用来确认表达式的真假。

运算符作用
NOT 或 !逻辑非:返回与操作数相反的结果,但是 NOT NULL的返回值为NULL
AND 或 &&逻辑与:操作数都为真返回1,操作数中只要有NULL就返回NULL,没NULL有0返回0
OR 或 ||逻辑或:操作数非NULL,有一个操作数为1则返回1,否则返回0,
如果有一个NULL,另外为1就返回1,否则返回NULL,如果都为NULL则返回NULL
XOR逻辑异或:当任意一个操作数为NULL时,返回值为NULL
对于非NULL的操作数,两个操作数的逻辑值相异则返回1,否则返回0

位运算符

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

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

运算符的优先级

优先级顺序运算符
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!

参考书籍:《深入浅出MySQL》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值