Mysql 简明教程
MySQL - Delete Query
MySQL DELETE Statement
如果我们希望从任何 MySQL 表中删除记录,那么我们可以使用 SQL 命令 DELETE FROM 。此语句是 SQL 中数据操作语言的一部分,因为它与 MySQL 表而不是结构中的数据进行交互。
DELETE 语句可用于删除单个表中的多行,以及跨多个表的记录。然而,为了筛选要删除的记录,我们可以将 WHERE 子句与 DELETE 语句一起使用。
我们可以在 mysql> 提示符以及任何脚本(如 PHP、Node.js、Java 和 Python)中使用此命令。
Deleting Data from a MySQL Table
我们使用 MySQL DELETE 查询从数据库表中删除记录。然而,我们可以一次删除单行、多行,甚至在一个查询中从表中删除所有记录。让我们在本文档中一一用适当的示例讨论它们。
Example
首先,让我们使用以下查询创建一个名为 CUSTOMERS 的表:
CREATE TABLE CUSTOMERS (
ID INT NOT NULL,
NAME VARCHAR(20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
以下查询在上述创建的表中插入 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 );
执行以下 SELECT 语句以检索 CUSTOMERS 表中存在的所有记录:
Select * From CUSTOMERS;
以下为 CUSTOMERS 表 −
现在,让我们使用 DELETE 语句从 CUSTOMERS 表中删除 single record (ID = 1),如下所示:
DELETE FROM CUSTOMERS WHERE ID = 1;
Verification
执行以下查询以验证上述记录是否已被删除:
Select * From CUSTOMERS;
正如我们在输出中看到的,ID=1 的行已被删除:
Deleting Multiple Rows
我们还可以使用 DELETE 语句删除多行。为此,我们只需要在 WHERE 子句中指定多个条件,所有待删除的记录都满足这些条件。