SQL DELETE

从表中删除数据

正如使用INSERT语句将记录插入表中一样,也可以使用DELETE语句从表中删除记录。

语法

DELETE语句用于从表中删除一行或多行记录。

DELETE FROM table_name WHERE condition;
警告: DELETE语句中的WHERE子句指定应该删除哪些记录。如果忽略或忘记WHERE子句,所有记录将永久删除。

让我们删除persons表中的一些记录。

假设我们的person表目前有以下记录:

+----+--------------------+------------+-------------+
| id | name               | birth_date | phone       |
+----+--------------------+------------+-------------+
|  1 | Peter Wilson       | 1990-07-15 | 0711-020361 |
|  2 | Carrie Simpson     | 1995-05-01 | 0251-031259 |
|  3 | Victoria Ashworth  | 1996-10-17 | 0695-346721 |
|  4 | George Bailey      | 1993-03-05 | 0897-034214 |
|  5 | Norman Bates       | 1999-08-25 | 0522-556721 |
+----+--------------------+------------+-------------+

根据条件删除记录

下面的语句将删除persons表中id大于3的行。

示例

DELETE FROM persons WHERE id > 3;

执行查询后,persons表将如下所示:

+----+--------------------+------------+-------------+
| id | name               | birth_date | phone       |
+----+--------------------+------------+-------------+
|  1 | Peter Wilson       | 1990-07-15 | 0711-020361 |
|  2 | Carrie Simpson     | 1995-05-01 | 0251-031259 |
|  3 | Victoria Ashworth  | 1996-10-17 | 0695-346721 |
+----+--------------------+------------+-------------+

删除所有数据

类似地,如上所述,如果您没有在DELETE语句中指定WHERE子句,那么表中的所有行都将被删除。但是,目标表本身不会被删除,这意味着表结构、属性和索引将保持不变。

以下语句将从persons表中删除所有记录:

示例

DELETE FROM persons;

现在,如果您尝试从persons表中查询数据,您将得到一个空的结果集。



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载