MySQL运算符
概述
MySQL运算符用于在SQL语句中对数据执行操作。它们包括算术、比较、逻辑和位运算符。
运算符分类
算术运算符:数学运算 比较运算符:比较值 逻辑运算符:布尔逻辑 位运算符:二进制运算 赋值运算符:设置值
算术运算符
基本算术
| 运算符 | Description / 描述 | Example / 示例 | Result / 结果 |
|---|---|---|---|
| 加法 | 10 + 5 | 15 | |
| 减法 | 10 - 5 | 5 | |
| 乘法 | 10 * 5 | 50 | |
| Division / 除法 | 10 / 5 | 2 | |
| 取模 | 10 % 3 | 1 |
示例
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 logicNULL处理
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 positionREGEXP / REGEXP
sql
-- Regular expression match
-- Not match范围运算符
BETWEEN / BETWEEN
sql
-- Inclusive range
-- Date range
-- Equivalent to ANDIN / IN
sql
-- Multiple values
-- Subquery
-- NOT INNULL运算符
IS NULL / IS NULL
sql
-- Test for NULL
-- Test for not NULL
-- Combined with other conditionsNULL安全比较
sql
-- NULL-safe equality
-- NULL-safe inequality运算符优先级
优先级表
| 优先级 | Operator / 运算符 |
|---|---|
| !、~、-(一元负) | |
| 2 | ^ |
| 3 | *, /, DIV, %, MOD |
| 4 | +, - |
| 5 | <<, >> |
| 6 | & |
| 7 | | |
| 8 | =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN |
| 9 | BETWEEN, CASE, WHEN, THEN, ELSE |
| 10 | NOT |
| 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函数
下一个:命令大全