MySQL8 运算符有 5 种,分别是:算术运算符、比较运算符、逻辑运算符、按位运算符和赋值运算符。运算符优先级是指代码运算的先后顺序,MySQL8 运算符使 MySQL 代码可读性更好、语法更健壮。
算术运算符,加法:+, 减法:-, 乘法:*, 除法:/, 取余:%。
select 1+1; //加法 select 2-1; //减法 select 3*1; //乘法 select 4/2; //除法 select 5%2; //取余
比较运算符,比较运算的结果为1(TRUE),0(FALSE)或者 NULL 值。
select 1>1; //大于 select 1>=1; //大于等于 select 1<1; //小于 select 1<=1; //小于等于 select 1!=1; //不等于,或使用 <> select null <=> null //安全比较 NULL 值 select 1=1; //等于
逻辑运算符,真返回 1 否则返回 0, NOT或!:逻辑非, AND:逻辑与, OR或||:逻辑或, XOR:逻辑异或。
select !1 //逻辑非 select 1 && 1 //逻辑与 select 1 || 1 //逻辑或 select 1 xor 1 //逻辑异或
按位运算符,&:按位与, |:按位或, ^:按位异或, ~:取反, <<:左移, >>:右移。
select 1&2; //按位与 select 1|2; //按位或 select 1^2; //按位异或 select ~1; //按位取反 select 2<<1; //按位左移 select 2>>1; //按位右移
赋值运算符有 2 个,(:=):赋值, (=):赋值。
select @try8 := 1; //赋值,不会与比较运算符混淆 set @try8 = 1; //赋值,= 常用于 set 或 update 上下文中代表赋值操作
MySQL8 运算符优先级越高,程序会越先参与计算,如下运算符优先级排序从高到低。对于同级的运算符,例如:求值类运算从左到右,赋值运算则从右到左,如果你要强制打乱优先级,请使用括号 ( ) 覆盖。
INTERVAL BINARY, COLLATE ! - (unary minus), ~ (unary bit inversion) ^ *, /, DIV, %, MOD -, + <<, >> & | = (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN, MEMBER OF BETWEEN, CASE, WHEN, THEN, ELSE NOT AND, && XOR OR, || = (assignment), :=
MySQL8教程 - MySQL8 运算符与优先级,主要用于介绍 MySQL 和 MySQL8 数据库,从 MySQL8 运算符开始,逐步到 MySQL8 运算符优先级等,通篇实用易懂,让 MySQL8 入门更加快速和简单。
《MySQL8教程》主打原创、全部免费,欢迎学习和转载,如需交流请加微信号:try8_cn。