Skip to content

MySQL 运算符 (Operators)

算数运算符

Arithmetic Operators

OperatorDescriptionExample
+AddTry it
-SubtractTry it
*MultiplyTry it
/DivideTry it
%Modulo

位运算符

Bitwise Operators

OperatorDescription
&Bitwise AND
|Bitwise OR
^Bitwise exclusive OR

比较运算符

Comparison Operators

OperatorDescriptionExample
=Equal toTry it
>Greater thanTry it
<Less thanTry it
>=Greater than or equal toTry it
<=Less than or equal toTry it
<>Not equal to

复合运算符

Compound Operators

OperatorDescription
+=Add equals
-=Subtract equals
*=Multiply equals
/=Divide equals
%=Modulo equals
&=Bitwise AND equals
^-=Bitwise exclusive equals
|*=Bitwise OR equals
bash
-- 假设变量 x 的初始值为 5
SET @x = 5;

-- 加法赋值运算符,将 3 加到变量 x 上,并将结果重新赋给变量 x
SET @x += 3; -- 现在 @x 的值为 8

-- 减法赋值运算符,从变量 x 中减去 2,并将结果重新赋给变量 x
SET @x -= 2; -- 现在 @x 的值为 6

-- 乘法赋值运算符,将变量 x 乘以 4,并将结果重新赋给变量 x
SET @x *= 4; -- 现在 @x 的值为 24

-- 除法赋值运算符,将变量 x 除以 3,并将结果重新赋给变量 x
SET @x /= 3; -- 现在 @x 的值为 8

-- 取模赋值运算符,将变量 x 除以 5 取余,并将结果重新赋给变量 x
SET @x %= 5; -- 现在 @x 的值为 3

-- 按位与赋值运算符,对变量 x 10 执行按位与操作,并将结果重新赋给变量 x
SET @x &= 10; -- 现在 @x 的值为 2

-- 按位异或赋值运算符,对变量 x 6 执行按位异或操作,并将结果重新赋给变量 x
SET @x ^= 6; -- 现在 @x 的值为 4

-- 按位或赋值运算符,对变量 x 1 执行按位或操作,并将结果重新赋给变量 x
SET @x |= 1; -- 现在 @x 的值为 5

逻辑运算符

Logical Operators

OperatorDescriptionExample例子
ALL如果子查询中的所有值都满足条件,则返回 TRUE。Try itSELECT * FROM orders WHERE quantity > ALL (SELECT quantity FROM products);
AND如果由 AND 分隔的所有条件都为 TRUE,则返回 TRUE。Try itSELECT * FROM customers WHERE age > 25 AND city = 'New York';
ANY如果子查询中的任何值都满足条件,则返回 TRUE。Try itSELECT * FROM orders WHERE quantity > ANY (SELECT quantity FROM products);
BETWEEN如果操作数在比较范围内,则返回 TRUE。Try itSELECT * FROM products WHERE price BETWEEN 10 AND 50;
EXISTS如果子查询返回一个或多个记录,则返回 TRUE。Try itSELECT * FROM customers WHERE EXISTS (SELECT * FROM orders WHERE customers.customer_id = orders.customer_id);
IN如果操作数等于列表中的任何一个表达式,则返回 TRUE。Try itSELECT * FROM products WHERE category IN ('Electronics', 'Clothing', 'Books');
LIKE如果操作数与模式匹配,则返回 TRUE。Try itSELECT * FROM employees WHERE last_name LIKE 'S%';
NOT如果条件不为 TRUE,则显示记录。Try itSELECT * FROM customers WHERE NOT age > 25;
OR如果由 OR 分隔的任何条件为 TRUE,则返回 TRUE。Try itSELECT * FROM customers WHERE city = 'New York' OR city = 'Los Angeles';
SOME如果子查询中的任何值都满足条件,则返回 TRUE。do itSELECT * FROM Products WHERE Price > SOME (SELECT Price FROM Products WHERE Price > 20);