MySQL 减法运算符 (-)



MySQL 使用各种类型的运算符在其数据上执行操作。它支持算术运算符、比较运算符、逻辑运算符、赋值运算符等。但是,只有算术运算符专门处理数值。

算术运算符用于对存储在 MySQL 中的数据执行加、减、乘、除和模运算;其中**减法运算符 (-)** 用于从另一个数字中减去一个数字。

减法运算符可与 MySQL 中的 SELECT、UPDATE 和 DELETE 语句一起使用,以及 WHERE、ORDER BY 等子句。

语法

以下是 MySQL 减法运算符的语法:

[SELECT|DELETE|UPDATE] x - y;

其中,**“x”** 和 **“y”** 是您要相减的数值的占位符。

示例

在下面的示例中,我们使用减法运算符 (-) 来减去两个数字:

SELECT 4156456 - 56445;

输出

这将产生以下结果:

4156456 - 56445
4100011

示例

在此查询中,我们使用减法运算符 - 减去两个浮点数和一个整数。

SELECT 547.5478 - 657.3547 - 5475;

输出

这将产生以下结果:

547.5478 - 657.3547 - 5475
-5584.8069

示例

在下面的查询中,我们使用 CREATE TABLE 语句创建一个名为 **CUSTOMERS** 的表:

CREATE TABLE CUSTOMERS (
   ID INT AUTO_INCREMENT,
   NAME VARCHAR(20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

下面的查询使用 INSERT 语句将 7 条记录插入到上面创建的表中:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES 
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );

执行以下查询以检索插入到 CUSTOMERS 表中的所有记录:

Select * From CUSTOMERS;

以下是 CUSTOMERS 表:

ID 姓名 年龄 地址 薪水
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 Kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

在这里,我们使用 MySQL 减法运算符来减去每个客户的薪水和年龄:

SELECT NAME, SALARY - AGE as Difference FROM CUSTOMERS;

这将产生以下结果:

姓名 结果
Ramesh 1968.00
Khilan 1475.00
Kaushik 1977.00
Chaitali 6475.00
Hardik 8473.00
Komal 4478.00
Muffy 9976.00

示例

您还可以将减法运算符与 **DELETE** 语句一起使用。在这种情况下,我们与赋值运算符一起使用 WHERE 子句。

在下面的查询中,我们将删除 CUSTOMERS 表中薪水和年龄之差小于 5000 的行。

DELETE FROM CUSTOMERS 
WHERE SALARY - AGE < 5000;

输出

已从 CUSTOMERS 表中删除四条记录。

Query OK, 4 rows affected (0.01 sec)

验证

执行以下查询以验证上述记录是否已删除:

Select * From CUSTOMERS;

正如我们从输出中看到的,薪水和年龄之差小于 5000 的客户已被删除。

ID 姓名 年龄 地址 薪水
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
7 Muffy 24 Indore 10000.00

示例

除了 SELECT 和 DELETE 语句之外,您还可以将减法运算符与 UPDATE 语句一起使用。

让我们来看一个示例,我们尝试使用下面的 UPDATE...SET 语句更新 Asha 的分数以达到至少及格分数:

UPDATE CUSTOMERS
SET NAME = 'Hrithik'
WHERE SALARY - AGE > 9000;

输出

这将产生以下结果:

Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

验证

执行以下查询以验证上述记录是否已更新:

Select * From CUSTOMERS;

从输出中可以看到,薪水和年龄大于 5000 的客户的姓名已更改为“Hrithik”。

ID 姓名 年龄 地址 薪水
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
7 Hrithik 24 Indore 10000.00
广告