Skip to content

MySQL运算符

概述

MySQL运算符用于在SQL语句中对数据执行操作。它们包括算术、比较、逻辑和位运算符。

运算符分类

算术运算符:数学运算 比较运算符:比较值 逻辑运算符:布尔逻辑 位运算符:二进制运算 赋值运算符:设置值

算术运算符

基本算术

运算符Description / 描述Example / 示例Result / 结果
加法10 + 515
减法10 - 55
乘法10 * 550
Division / 除法10 / 52
取模10 % 31

示例

sql
-- Calculate totals

-- Calculate discounts

-- Average calculation

比较运算符

比较表

运算符Description / 描述
等于
NULL安全等于
不等于
大于
大于或等于
小于
小于或等于

示例

sql
-- Equality

-- Inequality

-- Greater than

-- Range queries

字符串比较

sql
-- Case-sensitive comparison (binary)

-- Case-insensitive comparison

-- Pattern matching

逻辑运算符

逻辑表

运算符Description / 描述Precedence / 优先级
逻辑非1
逻辑与2
逻辑或3

示例

sql
-- AND operator

-- OR operator

-- NOT operator

-- Combined logic

NULL处理

sql
-- AND with NULL

-- Use IS NULL

-- NULL-safe comparison

位运算符

位运算表

运算符Description / 描述
按位与
按位或
按位异或
按位非
左移
右移

示例

sql
-- Bitwise AND

-- Bitwise OR

-- Bitwise XOR

-- Left shift

字符串运算符

比较

sql
-- Case-sensitive comparison

-- LIKE pattern matching

连接

sql
-- Concatenation operator (deprecated)

-- CONCAT function (recommended)

模式匹配运算符

LIKE / LIKE

sql
-- Match pattern

-- Match specific position

REGEXP / REGEXP

sql
-- Regular expression match

-- Not match

范围运算符

BETWEEN / BETWEEN

sql
-- Inclusive range

-- Date range

-- Equivalent to AND

IN / IN

sql
-- Multiple values

-- Subquery

-- NOT IN

NULL运算符

IS NULL / IS NULL

sql
-- Test for NULL

-- Test for not NULL

-- Combined with other conditions

NULL安全比较

sql
-- NULL-safe equality

-- NULL-safe inequality

运算符优先级

优先级表

优先级Operator / 运算符
!、~、-(一元负)
2^
3*, /, DIV, %, MOD
4+, -
5<<, >>
6&
7|
8=, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
9BETWEEN, CASE, WHEN, THEN, ELSE
10NOT
11&&, AND
12||, OR
:=(赋值)

示例

sql
-- Precedence matters
-- Without parentheses
-- With parentheses

-- Complex expression
-- Evaluates as: price * (quantity * discount)
-- Should be: (price * quantity) * discount

赋值运算符

:=运算符

sql
-- Set variable

-- Multiple assignments

-- Conditional assignment

实用示例

条件逻辑

sql
-- Age categorization

-- Price range classification

字符串操作

sql
-- Pattern matching

-- Combined conditions

计算

sql
-- Complex expressions

小结

MySQL运算符提供:

算术:数学计算 比较:值比较 逻辑:布尔运算 位运算:二进制运算 模式匹配:LIKE、REGEXP 范围:BETWEEN、IN NULL处理:IS NULL、<=> 优先级:求值顺序 赋值:变量赋值

理解运算符优先级并使用括号确保正确的查询结果。


上一个:MySQL函数

下一个:命令大全