MySQL 运算符

MySQL 有4类运算符:

算术运算符

这里写图片描述

注:
除于0时返回NULL。

比较运算符

这里写图片描述

补充:
<=>,相等判断,和’=’的作用相似,唯一区别是’<=>’可以用来对NULL判断。
least、greatest运算符,大小判断,如least(20.0,3.0,100.5)。

注:
‘<>’或者’!=’,判断数字、字符串、表达式不相等的判断。如果不相等,返回值为1;否则返回值为0。这两个运算符不能用于判断空值NULL。
IS NULL、ISNULL和IS NOT NULL,判断NULL值和非NULL值。
between…and…运算符,值区间判断(是闭区间[a, b])。
IN、NOT IN运算符,判断数据是否存在于某个集合中。
LIKE运算符,匹配字符串。
REGEXP运算符,同样用于匹配字符串,但其使用的是正则表达式进行匹配。

逻辑运算符

这里写图片描述

逻辑运算符的求值所得结果均为TRUE、FALSE或NULL。

注:
NOT 或者 !,逻辑非。
AND 或者 &&,逻辑与。
OR 或者 ||,逻辑或。
XOR(异或),逻辑异或。

位操作运算符

这里写图片描述

注:
位或(|)
位与(&)
位异或(^ )
位左移(<<)
位右移(<<)
位取反(~)

其他运算符

  • 赋值运算符(:=
    := 和 = 运算符在大部分场景下并无区别,但 := 更为全场景些。
    = 只有在 set 和update时才是和 := 一样,赋值的作用,其它都是关系运算符 等于 的作用。
    := 不只在 set 和 update 时赋值的作用,在 select 也是赋值的作用。

  • 变量标识
    @用来标识用户变量。
    @@用来标识系统变量。
    系统变量又分为全局系统变量和会话系统变量。如果设置变量时不指定GLOBAL、SESSION或者LOCAL,默认使用SESSION。

-- 读取
SELECT @@global.sort_buffer_size;
SELECT @@session.sort_buffer_size;
SHOW GLOBAL VARIABLES LIKE 'sort_buffer_size';
SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
-- 设置
SET @@global.sort_buffer_size = 2 * 1024 * 1024;
SET @@session.sort_buffer_size = 2 * 1024 * 1024;
SET GLOBAL sort_buffer_size = 2 * 1024 * 1024;
SET SESSION sort_buffer_size = 2 * 1024 * 1024;
-- 有些系统变量只有全局级的,
-- 比如 max_connnections,读取时可以不显示声明 global,但设置时需要,否则会提示你设置的为全局变量。

运算符的优先级

这里写图片描述

  • 运算的优先级决定了不同的运算符在表达式中计算的先后顺序。
  • 级别高的运算符先进行计算,如果级别相同,MySQL按表达式的顺序从左到右依次计算。当然,在无法确定优先级的情况下,可以使用圆括号“()”来改变优先级。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值