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() 用于字符串连接)来增强功能。通过以上分类和示例,您可以逐步掌握如何应用这些运算符优化数据库操作。

相关推荐
Lucifer三思而后行1 小时前
使用 BR 备份 TiDB 到 AWS S3 存储
数据库·tidb·aws
百***17072 小时前
Oracle分页sql
数据库·sql·oracle
qq_436962182 小时前
数据中台:打破企业数据孤岛,实现全域资产化的关键一步
数据库·人工智能·信息可视化·数据挖掘·数据分析
weixin_537765803 小时前
【数据库管理】MySQL主从复制详解
数据库·mysql
q***33374 小时前
数据库高安全—openGauss安全整体架构&安全认证
数据库·安全·架构
范纹杉想快点毕业4 小时前
《嵌入式开发硬核指南:91问一次讲透底层到架构》
java·开发语言·数据库·单片机·嵌入式硬件·mongodb
倚肆4 小时前
MySQL 配置文件属性详解
数据库·mysql
2301_800256116 小时前
关系数据库小测练习笔记(1)
1024程序员节
user_admin_god6 小时前
企业级管理系统的站内信怎么轻量级优雅实现
java·大数据·数据库·spring boot
百***22126 小时前
mysql的分区表
数据库·mysql