从表中删除数据
正如使用INSERT语句将记录插入表中一样,也可以使用DELETE
语句从表中删除记录。
语法
DELETE
语句用于从表中删除一行或多行记录。
DELETE FROM table_name WHERE condition;
让我们删除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表中查询数据,您将得到一个空的结果集。