MySQL 运算符详细说明

目录

[1. 算术运算符](#1. 算术运算符)

[2. 比较运算符](#2. 比较运算符)

[3. 逻辑运算符](#3. 逻辑运算符)

[4. 位运算符](#4. 位运算符)

总结


MySQL 运算符是用于执行计算、比较和逻辑操作的符号或关键词,广泛用于 SQL 查询语句中。它们帮助实现数据筛选、计算和组合等功能。下面我将分类详细说明各类运算符,包括定义、语法和示例代码。每个类别都使用清晰的解释和 SQL 代码示例来逐步说明。

1. 算术运算符

算术运算符用于数值计算,包括加、减、乘、除和取模操作。这些运算符支持整数、浮点数等数值类型。

  • 加法运算符 (+):用于数值相加。例如,a + b 表示两个值求和。
  • 减法运算符 (-):用于数值相减。例如,a - b 表示减去一个值。
  • 乘法运算符 (\*):用于数值相乘。例如,a \\times b 表示两个值相乘。
  • 除法运算符 (/):用于数值相除。例如,a / b 表示除以一个值(注意:除数不能为零)。
  • 取模运算符 (%):用于求余数。例如,a % b 表示 a 除以 b 的余数。

示例 SQL 代码:

sql 复制代码
-- 计算员工工资增加10%后的值
SELECT name, salary, salary * 1.10 AS new_salary FROM employees;

-- 求订单数量的余数
SELECT order_id, quantity % 5 AS remainder FROM orders;
2. 比较运算符

比较运算符用于比较两个值的大小或相等性,返回布尔值(TRUE 或 FALSE)。常用于 WHERE 子句中进行条件筛选。

  • 等于运算符 (=):比较两个值是否相等。例如,a = b 表示 a 等于 b
  • 不等于运算符 (!=\<\>):比较两个值是否不相等。例如,a != b 表示 a 不等于 b
  • 大于运算符 (\>):比较左值是否大于右值。例如,a \> b 表示 a 大于 b
  • 小于运算符 (\<):比较左值是否小于右值。例如,a \< b 表示 a 小于 b
  • 大于等于运算符 (\>=):比较左值是否大于或等于右值。例如,a \\geq b 表示 a 大于或等于 b
  • 小于等于运算符 (\<=):比较左值是否小于或等于右值。例如,a \\leq b 表示 a 小于或等于 b
  • BETWEEN 运算符:检查值是否在指定范围内。例如,a BETWEEN b AND c 表示 abc 之间。
  • LIKE 运算符:用于模式匹配(通配符:% 表示任意字符序列,_ 表示单个字符)。例如,name LIKE 'J%' 匹配以 "J" 开头的名称。
  • IN 运算符:检查值是否在列表中。例如,a IN (b, c, d) 表示 a 等于 bcd
  • IS NULL 运算符:检查值是否为 NULL。例如,a IS NULL 表示 a 是空值。

示例 SQL 代码:

sql 复制代码
-- 筛选年龄大于30的员工
SELECT * FROM employees WHERE age > 30;

-- 查找名称以 "A" 开头的客户
SELECT * FROM customers WHERE name LIKE 'A%';

-- 检查订单状态在指定列表中
SELECT * FROM orders WHERE status IN ('shipped', 'delivered');
3. 逻辑运算符

逻辑运算符用于组合多个条件,返回布尔值。常用于 WHERE 或 HAVING 子句中构建复杂查询。

  • AND 运算符:所有条件都为真时返回真。例如,a AND b 表示 ab 同时为真。
  • OR 运算符:至少一个条件为真时返回真。例如,a OR b 表示 ab 为真。
  • NOT 运算符:反转条件。例如,NOT a 表示 a 不为真。

示例 SQL 代码:

sql 复制代码
-- 筛选年龄在25到35之间且工资大于5000的员工
SELECT * FROM employees WHERE age BETWEEN 25 AND 35 AND salary > 5000;

-- 查找状态为 "active" 或 "pending" 的用户
SELECT * FROM users WHERE status = 'active' OR status = 'pending';
4. 位运算符

位运算符用于对二进制位进行操作,较少在常规查询中使用,但适用于低级数据处理。

  • 位与运算符 (\&):对位进行 AND 操作。例如,a & b 表示按位与。
  • 位或运算符 (\|):对位进行 OR 操作。例如,a | b 表示按位或。
  • 位异或运算符 (\^):对位进行 XOR 操作。例如,a ^ b 表示按位异或。
  • 位取反运算符 (\~):反转所有位。例如,~a 表示按位取反。
  • 左移运算符 (\<\<):将位左移指定位数。例如,a << n 表示左移 n 位。
  • 右移运算符 (\>\>):将位右移指定位数。例如,a >> n 表示右移 n 位。

示例 SQL 代码:

sql 复制代码
-- 对权限字段进行位操作
SELECT user_id, permissions & 1 AS can_read FROM user_permissions;
总结

MySQL 运算符是 SQL 查询的核心工具,能高效处理数据计算、比较和逻辑组合。使用时需注意数据类型匹配(如数值比较要求数值类型),避免常见错误(如除零或 NULL 处理)。建议在实际查询中结合函数(如 CONCAT() 用于字符串连接)来增强功能。通过以上分类和示例,您可以逐步掌握如何应用这些运算符优化数据库操作。

相关推荐
杨云龙UP26 分钟前
MySQL 8.0.x InnoDB 写入链路优化:Redo Log 与 Buffer Pool 扩容与缓冲区调优实战记录-20251029
linux·运维·数据库·sql·mysql
黄俊懿1 小时前
【深入理解SpringCloud微服务】Seata(AT模式)源码解析——开启全局事务
java·数据库·spring·spring cloud·微服务·架构·架构师
我命由我123451 小时前
python-dotenv - python-dotenv 快速上手
服务器·开发语言·数据库·后端·python·学习·学习方法
繁星蓝雨2 小时前
Qt优雅的组织项目结构三(使用CMakeLists进行模块化配置)——————附带详细示例代码
开发语言·数据库·qt
Jerry.张蒙2 小时前
SAP业财一体化实现的“隐形桥梁”-价值串
大数据·数据库·人工智能·学习·区块链·aigc·运维开发
无名修道院2 小时前
DVWA 靶场搭建:Windows11(phpstudy 搭建)(步骤 + 截图 + 常见问题)
数据库·网络安全·渗透测试·靶场·php·dvwa·phpstudy
UCoding4 小时前
新能源技术面试 -- 给出一套mysql备份容灾方案
mysql·面试·主从
CodeAmaz4 小时前
MySQL 事务隔离级别详解
数据库·mysql·事务隔离级别
千寻技术帮4 小时前
10398_基于SSM的教学评价管理系统
数据库·mysql·毕业设计·ssm·教学评价
晨星3345 小时前
使用 IntelliJ IDEA 轻松连接 Java 与 MySQL 8 数据库
java·开发语言·数据库