MySQL学习笔记(5):运算符

database

本文更新于2020-06-14,使用MySQL 5.7,操作系统为Deepin 15.4。

目录

  • 算数运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 运算符优先级

算数运算符

运算符

语法

说明

+

a + b

加法

-

a - b

减法

*

a * b

乘法

/

a / b

除法。类似DIV,但DIV会对结果取整,/的结果可为小数

%

a % b

取余。类似MOD

  • 除法和取模,若除数为0,则返回NULL
  • NULL参与的算数运算都返回NULL

比较运算符

运算符

语法

说明

=

a = b

等于

!=或<>

a != b

不等于

<=>

a <=> b

NULL安全的等于

<

a < b

小于

<=

a <= b

小于等于

>

a > b

大于

>=

a >= b

大于等于

BETWEEN

a BETWEEN min AND max

存在于指定区间[min, max]

IN

a IN (value[, ...])

存在于指定集合

IS

a IS [NOT] NULL

是否为NULL

LIKE

a LIKE "pattern"

通配符匹配

REGEXP或RLIKE

a REGEXP "regexp"

正则表达式匹配

  • 若比较结果为真则返回1,为假则返回0,不确定则返回NULL
  • 两个字符串字面量直接用=比较时,不区分大小写。
  • NULL <=> NULL返回1,其他值与NULL比较都返回NULL
  • LIKE的模式可使用%表示0个或多个任意字符。

正则表达式的模式如下:

模式

作用

^

匹配字符串开始

$

匹配字符串结尾

.

匹配任意单个字符,包括换行符

[...]

匹配括号中的任意字符

[^...]

匹配不在括号中的任意字符

a*

匹配0个或多个a

a+

匹配1个或多个a

a?

匹配0个或1个a

a|b

匹配a或b

a(n)

匹配n个a

a(n,)

匹配n个或更多个a

a(n, m)

匹配n到m个a

a(, n)

匹配0到n个a

(...)

将模式元素组成单一元素

逻辑运算符

运算符

语法

说明

!或NOT

!a

&&或AND

a && b

||或OR

a || b

XOR

a XOR b

异或

  • 若结果为真则返回1,为假则返回0,不确定则返回NULL
  • NULL参与||运算,当另一个操作数为1时,返回1,否则返回NULLNULL参与其他逻辑运算均返回NULL,包括NOT NULL

位运算符

运算符

语法

说明

~

~a

按位反

&

a & b

按位与

|

a | b

按位或

^

a ^ b

按位异或

>>

a >> b

位右移

<<

a << b

位左移

  • 位运算得出的结果为十进制形式的整数。
  • 常量数字默认是8字节。
  • <<右侧补0,>>左侧补0,都会连带符号位一起移动。负数移位后的结果为无符号整数。

运算符优先级

按优先级从高到低依次为:

运算符类型

运算符

单目运算符

!

单目运算符

-、~

单目运算符

^

算数运算符

*、/(DIV)、%(MOD)

算数运算符

+、-

位运算符

<<、>>

位运算符

&

位运算符

|

比较运算符

=、!=(<>)、<=>、<、<=、>、>=、BETWEEN、IN、IS、LIKE、REGEXP(RLIKE)

BETWEEN、CASE、WHEN、THEN、ELSE

逻辑运算符

!(NOT)

逻辑运算符

&&(AND)

逻辑运算符

||(OR)、XOR

赋值运算符

:=

以上是 MySQL学习笔记(5):运算符 的全部内容, 来源链接: utcz.com/z/534309.html

回到顶部