MySQL入门(5)——运算符
算术运算符
MySQL支持的算数运算符包括加、减、乘、除、求余。
符号
作用
+
加法运算
-
减法运算
*
乘法运算
/
除法运算
%
求余运算
DIV
除法运算,返回商,同“/”
MOD
求余运算,返回余数,同“/”
比较运算符
比较运算符是查询数据时最常用的一类运算符。SELECT语句中的条件语句经常需要使用比较运算符。
运算符
名称
示例
运算符
名称
示例
=
等于
id=5
IS NOT NULL
N/A
id IS NOT NULL
>
大于
id>5
BETWEEN AND
N/A
id BETWEEN 1 and 4
<
小于
id<5
IN
N/A
id IN(3,4,5,6)
>=
大于等于
id>=5
NOT IN
N/A
name NOT IN(Java,C#)
<=
小于等于
id<=5
LIKE
模式匹配
name LIKE('C%')
!=或<>
不等于
id!=5
NOT LIKE
模式匹配
name NOT LIKE('Java%')
IS NULL
N/A
id IS NULL
REGEXP
常规表达式
name 正则表达式
在使用“=”判断两个字符串是否相同时,数据库系统都是根据字符的ASCII码进行判断的,ASCII码相同则字符相同。空值(NULL)不得使用“=”判断。
IS NULL用来判断操作数是否为空值(NULL)。操作数为NULL时,返回1;否则返回0。IS NOT NULL与IS NULL正好相反。
“=”、“<>”、“!=”、“>”、“>=”、“”、IS NULL和IS NOT NULL来判断。
REGEXP匹配字符串,满足会返回1;否则返回0。REGEXP通常和“^”、“\$”、“.”一起使用。“^”用以匹配字符串的开始部分;“$”用以匹配字符串结尾部分;“.”用以代表字符串中的一个字符。
逻辑运算符
符号
作用
&&或AND
与
||或OR
或
!或NOT
非
XOR
异或
位运算符
位运算符是二进制数上进行运算的运算符。位运算首先将操作数变为二进制数,再进行位运算,然后将结果又由二进制变回十进制。MySQL支持6种位运算符,分别是按位与、按位或、按位取反、按位异或、按位左移和按位右移。
符号
作用
&
按位与。进行该运算时,数据库系统首先将十进制数变为二进制,然后对应操作数的每个二进制位上进行与运算。1和1相与得1,和0相与得0。运算完成后再将二进制数变回十进制数。
|
按位或。将操作数化为二进制数后,每位都进行或运算。
~
按位取反。将操作数化为二进制数后,每位都进行取反运算。
^
按位异或。将操作数化为二进制数后,每位都进行异或运算。
<<
按位左移。“m<
>>
按位右移。“m>>n”表示m的二进制数向右移n位,左边补上n个0。
运算符的优先级
优先级
运算符
1
!
2
~
3
^
4
*,/,DIV,%,MOD
5
+,-
6
>>,<<
7
&
8
|
9
=,<=>,,>=,!=,<>,IN,IS,NULL,LIKE,REGEXP
10
BETWEEN AND,CASE,WHEN,THEN,ELSE
11
NOT
12
&&,AND
13
||,OR,XOR
14
:=