Sql 简明教程
SQL - Delete Table
SQL DELETE 是数据操作语言 (DML) 的命令,所以它不会删除或修改表结构,但只删除表中包含的数据。因此,从表中删除数据后,其中定义的所有约束、索引或触发器仍将存在。
SQL DELETE TABLE Statement
SQL DELETE TABLE 语句用于从数据库中的表删除现有记录。如果只想从表中删除特定数量的行,可以使用 WHERE 子句连同 DELETE 语句。如果省略 WHERE 子句,表中的所有行将被删除。SQL DELETE 语句一次适用于一张表。
SQL DELETE TABLE with WHERE Clause
我们可以使用 SQL DELETE 语句基于单个条件使用 WHERE 子句从表中删除特定行。
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)
);
现在使用 INSERT 语句向该表中插入值,如下所示:
INSERT INTO CUSTOMERS 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 * FROM CUSTOMERS 语句检索上述创建的表的内容,将得到以下输出:
ID |
NAME |
AGE |
ADDRESS |
SALARY |
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 |
现在,我们尝试删除所有名为“Hardik”的客户,如下所示:
DELETE FROM CUSTOMERS WHERE NAME='Hardik';
Deleting rows based on multiple conditions
我们还可以使用 SQL DELETE TABLE 语句基于 WHERE 子句中的多个条件从表中删除特定的行。当我们想要从满足特定条件的表中移除部分行时,这非常有用。
在使用多个条件时,我们可以使用 AND、OR 和 NOT 比较运算符来优化条件。通过这种方式,只有满足这些条件的行才会被删除。
Syntax
以下是基于多个条件删除特定行(可使用 AND 或 OR 运算符连接)的基本语法 −
DELETE FROM table_name
WHERE condition1 AND condition2 OR ... conditionN;
此处,table_name 是我们要从中删除行的表的名称,condition1 到 conditionN 是要删除这些行必须满足的条件。AND 或 OR 运算符可用于将这些条件连接在一起。