目录
  1. 算术运算符
  2. 比较运算符
  3. 逻辑运算符
  4. 位运算符
  5. 运算符的优先级
MySQL的运算符

数据库中的表结构确立后,表中的数据代表的意义就已经确定。而通过MySQL运算符进行运算,就可以获取到表结构以外的另一种数据。例如,学生表中存在一个birth字段,这个字段表示学生的出生年份。而运用MySQL的算术运算符用当前的年份减学生出生的年份,那么得到的就是这个学生的实际年龄数据。这就是MySQL的运算符,所以熟悉并掌握运算符的应用,对于操作MySQL数据库中的数据是非常有用的。下面就来熟悉一下MySQL支持的4种运算符都具备哪些功能。

  • 算术运算符:执行算术运算,例如:加、减、乘、除等。

  • 比较运算符:包括大于、小于、等于或者不等于,等等。主要用于数值的比较、字符串的匹配等方面。例如:LIKE、IN、BETWEEN AND和IS NULL等都是比较运算符,还包括正则表达式的REGEXP也是比较运算符。

  • 逻辑运算符:包括与、或、非和异或等逻辑运算符。其返回值为布尔型,真值(1或true)和假值(0或false)。

  • 位运算符:包括按位与、按位或、按位取反、按位异或、按位左移和按位右移等位运算符。位运算必须先将数据转换为二进制,然后在二进制格式下进行操作,运算完成后,将二进制的值转换为原来的类型,返回给用户。

算术运算符

符号 作用 符号 作用
+ 加法运算 - 减法运算
* 乘法运算 / 除法运算
% 求余运算 DIV 出发运算,返回商,同『/』
MOD 求余运算,返回余数,同【%】

比较运算符

运算符 名称 示例 运算符 名称 示例
= 等于 id=5 > 大于 id>5
< 小于 id<5 >= 大于等于 id>=5
<= 小于等于 id<=5 <> 不等于 id<>5
!= 不等于 id!=5 IS NULL n/a 为空 id IS NULL
IS NOT NULL 非空 id IS NOT NULL IN 范围 id IN (3,4,5)
BETWEEN AND 范围 id BETWEEN 2 AND 6 NOT IN 范围 id NOT IN (3,4,5)
LIKE 模式匹配 name LIKE ('%Gad%') NOT LIKE 模式匹配 name NOT LIKE ('%Gad%')
REGEXP 正则表达式 name REGEXP '正则表达式'

逻辑运算符

符号 作用 符号 作用
&& AND
|| OR
NOT
XOR 异或

位运算符

符号 名称 作用
| 位或 对应的二进制位有一个或两个为 1 ,则该位的运算结果为 1 ,否则为 0
& 位与 对应的二进制位都为 1 ,则该位的运算结果为 1 ,否则为 0
^ 位异或 对应的二进制位不相同时,结果为 1 ,否则为 0
<< 位左移 使指定的二进制位都左移指定的位数,左移指定位之后,左边高位的数值将被移出并丢弃,右边低位空出的位置用 0 补齐
>> 位右移 使指定的二进制位都右移指定的位数,右移指定位之后,右边低位的数值将被移出并丢弃,左边高位空出的职位用 0 补齐
~ 位取反 将对应的二进制数逐位反转,即 1 取反后变 0 , 0 取反后变 1

运算符的优先级

优先级 运算符
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 =(赋值运算),:=
文章作者: Gadfly
文章链接: https://blog.gadfly.pub/2019/12/12/shu-ju-jie-gou/mysql-de-yun-suan-fu/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 牛虻的世界
打赏
  • 微信
  • 支付寶

评论