MySQL 运算符详解

MySQL 运算符详解

MySQL 是一种功能强大的关系型数据库管理系统,它提供了丰富的运算符来处理数据。运算符在 SQL 查询中起着至关重要的作用,能够帮助我们进行数据筛选、计算和比较。本文将详细介绍 MySQL 中常用的运算符,包括算术运算符、比较运算符、逻辑运算符等。

算术运算符

算术运算符用于执行基本的数学运算,如加法、减法、乘法、除法等。以下是一些常见的算术运算符:

  • +:加法运算符,用于求和。
  • -:减法运算符,用于求差。
  • *:乘法运算符,用于求积。
  • /:除法运算符,用于求商。
  • %:取模运算符,用于求余数。
markdown 复制代码
### 示例 1:加法运算

```sql
SELECT 5 + 3 AS "Sum";

执行结果:

复制代码
+------+
| Sum  |
+------+
|   8  |
+------+

示例 2:减法运算

sql 复制代码
SELECT 5 - 3 AS "Difference";

执行结果:

复制代码
+------------------+
| Difference       |
+------------------+
|                2 |
+------------------+

示例 3:乘法运算

sql 复制代码
SELECT 5 * 3 AS "Product";

执行结果:

复制代码
+---------+
| Product |
+---------+
|       15|
+---------+

示例 4:除法运算

sql 复制代码
SELECT 5 / 3 AS "Quotient";

执行结果:

复制代码
+----------+
| Quotient |
+----------+
| 1.66667  |
+----------+

示例 5:取模运算

sql 复制代码
SELECT 5 % 3 AS "Modulus";

执行结果:

复制代码
+---------+
| Modulus |
+---------+
|       2 |
+---------+


## 比较运算符

比较运算符用于比较两个表达式的值,并返回布尔值(TRUE 或 FALSE)。以下是一些常见的比较运算符:

- `=`:等于。
- `<>` 或 `!=`:不等于。
- `>`:大于。
- `<`:小于。
- `>=`:大于等于。
- `<=`:小于等于。

```markdown
### 示例 1:等于运算

```sql
SELECT * FROM employees WHERE salary = 5000;

执行结果:

复制代码
+----+-------+--------+------+
| id | name  | age    | salary |
+----+-------+--------+------+
|  1 | Alice |  28    | 5000 |
+----+-------+--------+------+

示例 2:不等于运算

sql 复制代码
SELECT * FROM employees WHERE salary <> 5000;

执行结果:

复制代码
+----+-------+--------+-------+
| id | name  | age    | salary |
+----+-------+--------+-------+
|  2 | Bob   |  32    | 4000 |
|  3 | Charlie|  40    | 6000 |
+----+-------+--------+-------+

示例 3:大于运算

sql 复制代码
SELECT * FROM employees WHERE salary > 4000;

执行结果:

复制代码
+----+-------+--------+-------+
| id | name  | age    | salary |
+----+-------+--------+-------+
|  1 | Alice |  28    | 5000 |
|  3 | Charlie|  40    | 6000 |
+----+-------+--------+-------+

示例 4:小于运算

sql 复制代码
SELECT * FROM employees WHERE salary < 6000;

执行结果:

复制代码
+----+-------+--------+-------+
| id | name  | age    | salary |
+----+-------+--------+-------+
|  2 | Bob   |  32    | 4000 |
+----+-------+--------+-------+

示例 5:大于等于运算

sql 复制代码
SELECT * FROM employees WHERE salary >= 5000;

执行结果:

复制代码
+----+-------+--------+-------+
| id | name  | age    | salary |
+----+-------+--------+-------+
|  1 | Alice |  28    | 5000 |
|  3 | Charlie|  40    | 6000 |
+----+-------+--------+-------+

示例 6:小于等于运算

sql 复制代码
SELECT * FROM employees WHERE salary <= 6000;

执行结果:

复制代码
+----+-------+--------+-------+
| id | name  | age    | salary |
+----+-------+--------+-------+
|  1 | Alice |  28    | 5000 |
|  2 | Bob   |  32    | 4000 |
+----+-------+--------+-------+


## 逻辑运算符

逻辑运算符用于组合多个条件表达式,并根据逻辑关系返回 TRUE 或 FALSE。以下是一些常见的逻辑运算符:

- `AND`:表示逻辑与,只有当两个条件都为 TRUE 时,结果才为 TRUE。
- `OR`:表示逻辑或,只要其中一个条件为 TRUE,结果就为 TRUE。
- `NOT`:表示逻辑非,用于取反操作。

```markdown
### 示例 1:逻辑与运算

```sql
SELECT * FROM employees WHERE age > 30 AND salary >= 5000;

执行结果:

复制代码
+----+-------+--------+-------+
| id | name  | age    | salary |
+----+-------+--------+-------+
|  3 | Charlie|  40    | 6000 |
+----+-------+--------+-------+

示例 2:逻辑或运算

sql 复制代码
SELECT * FROM employees WHERE age > 30 OR salary >= 5000;

执行结果:

复制代码
+----+-------+--------+-------+
| id | name  | age    | salary |
+----+-------+--------+-------+
|  1 | Alice |  28    | 5000 |
|  3 | Charlie|  40    | 6000 |
+----+-------+--------+-------+

示例 3:逻辑非运算

sql 复制代码
SELECT * FROM employees WHERE NOT age > 30;

执行结果:

复制代码
+----+-------+--------+-------+
| id | name  | age    | salary |
+----+-------+--------+-------+
|  2 | Bob   |  32    | 4000 |
+----+-------+--------+-------+


## 总结

本文详细介绍了 MySQL 中的运算符,包括算术运算符、比较运算符和逻辑运算符。通过使用这些运算符,我们可以方便地对数据库中的数据进行筛选、计算和比较。掌握这些运算符对于进行高效的数据库操作至关重要。希望本文能帮助您更好地理解和应用 MySQL 运算符。
相关推荐
认真的酒窝1 小时前
自己动手开发编译器(十一)语义分析
java·开发语言
wbs_scy3 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9173 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞3 小时前
C#与闭包
开发语言·c#
端庄的战斗机4 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme4 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
C语言小火车6 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
北冥you鱼6 小时前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
ALex_zry7 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
她说..7 小时前
Java 默认值设置方式
java·开发语言·后端·springboot