京东云服务器推荐配置、多种配置选择,满足不同业务需求!

热门推荐

⭐ 稳定入门选择

配置:2核2G/5M

适用场景:个人站点 / 轻量应用

特点:性价比高,稳定可靠

¥19/月
立即购买
流量友好

☁️ 轻量云主机

配置:2核4G 5M

适用场景:小型业务 / 博客 / 测试环境

特点:流量友好,性能均衡

¥149/年
立即购买
高性能

💻 云服务主机

配置:4核16G 8M

适用场景:中小型服务 / 多并发场景

特点:充足内存与带宽,性能强劲

¥750/年
立即购买
新人专享

🎁 新人福利

新人访问 → 点击 → 最新活动

可获取 3000元 礼券

立即领取
数据库 / SQL 教程 / SQL 基础教程
SQL 删除数据(DELETE)
SQL 清空表(TRUNCATE TABLE)SQL 更新数据(UPDATE)

SQL 删除数据(DELETE 语句)

在本教程中,您将学习如何使用SQL从数据库表中删除记录。

从表中删除数据

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

语法

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

DELETE FROM table_name WHERE condition;

警告:DELETE语句中的WHERE子句指定应删除的记录。 但是,它是可选的,但是如果您省略或忘记了WHERE子句,则所有记录将从表中永久删除。

让我们从在创建表一章中创建的persons表中删除一些记录。

假设我们的人员(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 |
|  4 | George Bailey      | 1993-03-05 | 0897-034214 |
|  5 | Norman Bates       | 1999-08-25 | 0522-556721 |
+----+--------------------+------------+-------------+

根据条件删除记录

以下语句将从id大于3的人员persons)表中删除行。

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 |
+----+--------------------+------------+-------------+

注意:请参考有关SQL WHERE子句的教程,以了解如何在从表中删除记录时基于多个条件形成复杂的查询。

删除所有数据

同样,如上所述,如果您未在WHERE语句中指定子句,则DELETE表中的所有行都将被删除。但是,目标表本身不会被删除,这意味着表结构,属性和索引将保持不变,但是表中的数据会被清空。

以下语句将删除人员(persons表中的所有记录:

DELETE FROM persons;

现在,如果您尝试从人员(persons表中选择或查询记录,则会得到一个空结果集。

SQL 清空表(TRUNCATE TABLE)SQL 更新数据(UPDATE)