1.算数运算符安全
- +,
- -,
- *
- /, DIV,
- %, MOD
- 在除法和模运算中,若是除数为0,将是非法除数,返回结果为NULL
2.比较运算符排序
- =
- <>, !=
- <=> //NULL的安全等于(NULL-safe)
- <
- <=
- >
- >=
- BETWEEN //x BETWEEN a AND b -> a <= x <= b
- IN
- IS NULL
- IS NOT NULL
- LIKE
- REGEXP, RLIKE //string REGEXP string_pat 当string字符串中含有string_pat相匹配的字符串时返回1
- MYSQL容许用户对表达式的左边操做数和右边操做数进行比较,比较结果为真则返回1,为假则返回0,比较结果不肯定则返回NULL
- 比较运算符能够用于比较数字,字符串和表达式。数字做为浮点数比较,而字符串已不区分大小写的方式进行比较。
- NULL不能用 = 比较。
- <=>和 = 相似,在操做数相等时为1,不一样之处在于及时操做的值为NULL也能够正确比较。
3.逻辑运算符字符串
NOT NULL返回值为NULLstring
当全部操做数均为非零值而且不为NULL时,计算所得结果为1,当1个或多个操做数为0时,所得结果为0,操做数中有任何一个为NULL则返回值为NULL字符
当两个操做数均为非NULL值时,若是任意一个操做数为非零值,则结果为1,不然结果为0。当有一个操做数为NULL时,若是另外一个操做数为非零值,则结果为1,不然为NULL。两个操做数均为NULL,则所得结果为NULL。浮点数
当任意一个操做数为NULL时,返回值为NULL,对于非NULL的操做数,若是两个逻辑真假值相异,则返回结果1,不然返回0数字
4.位运算符位运算
5.运算符的优先级运算符
- 从低到高排序
- :=
- ||, OR, XOR
- &&, AND
- NOT
- BETWEEN, CASE, WHEN, THEN, ELSE
- =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
- |
- &
- <<, >>
- -, +
- *, /, DIV, %, MOD
- ^
- -, ~
- !