MySQL 的运算符及运算符的优先级

一直在练注入,碰到了一些运算符,原来一直没学过,这次系统的整理下。


Mysql运算符分类

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符

算术运算符

  • MySQL 支持的算术运算符包括:

    注意:在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。
  • 加法

  • 减法

  • 乘法

  • 除法

    这里的/和div还是有一不样的,div是在除法后取整。
  • 取模/取余

    这里并没有什么太大差距,也没有一些资料上说的%不可以用于负数,都是成立的。

    比较运算符

  • 通常select可以通过比较运算符来筛选数据,成立为1,不成立为0。

  • 相等/不相等比较

  • 大小比较

    例1中1大于2为0,0又大于等0,所以成立,结果为1。
    例2中1小于2为1,1不小于等于0,所以不成立,结果为0。
  • 在/不在两值之间比较

  • 在/不在集合之中比较

  • 模型匹配

    当然可以也可以使用其它的通配符。
    % : 匹配0个或任意多个字符
    _ : 匹配任意一个字符
    escape : 转义字符,可匹配%和_。

  • 正则式匹配比较

    可以使用rlike或者使用regexp,常用通配符:. 、* 、 [] 、 ^ 、 $ 、{n}
    . : 匹配任意单个字符 
    * : 匹配0个或多个前一个得到的字符 
    * [] : 匹配任意一个[]内的字符,[ab]*可匹配空串、a、b、或者由任意个a和b组成的字符串。 
    * ^ : 匹配开头,如^s匹配以s或者S开头的字符串。 
    * $ : 匹配结尾,如s$匹配以s结尾的字符串。 
    * {n} : 匹配前一个字符反复n次。

    逻辑运算符

  • 逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回 1。如果表达式是假,结果返回 0。

  • 逻辑非

  • 逻辑与
    只有当两个条件均为真时,结果才为真,&&效果等同。
  • 逻辑或
    只要有一个条件为真时,结果就为真,||效果等同。
  • 逻辑异或
    同真同假都为假,有一个为真就为真,有一个Null就为Null。

    位运算符

  • 位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。
  • 按位与
    对应的二进制位都为 1 ,则该位的运算结果为 1 ,否则为 0
  • 按位或
    对应的二进制位若有1 ,则该位的运算结果为 1 ,否则为 0
  • 按位异或
    对应的二进制位不相同时,结果为 1 ,否则为 0
  • 按位左移
    使指定的二进制位都左移指定的位数,左移指定位之后,左边高位的数值将被移出并丢弃,右边低位空出的位置用 0 补齐
  • 按位右移
    使指定的二进制位都右移指定的位数,右移指定位之后,右边低位的数值将被移出并丢弃,左边高位空出的职位用 0 补齐
  • 按位取反
    对应的二进制位01互换

    运算符优先级

  • 最低优先级为: :=。
  • 最高优先级为: !、BINARY、 COLLATE。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值