DELETE语句的使用方法

DROP TABLE 语句可以将表完全删除

DELETE 语句会留下表(容器),而删除表中的全部数据

Tips:

DELETE 语句的对象是行而不是列,所以 DELETE 语句无法只删除部分列的数据。因此,在 DELETE 语句中指定列名是错误的。当然,使用星号的写法(DELETE * FROM Product ;)也是不对的,同样会出错。

想要删除部分数据行时,可以像 SELECT 语句那样使用 WHERE子句指定删除条件

  • DELETE FROM <表名> WHERE <条件>;

与 SELECT 语句不同的是,DELETE 语句中不能使用 GROUP BY、HAVING 和ORDER BY 三类子句,而只能使用WHERE 子句。原因很简单,GROUP BY 和 HAVING 是从表中选取数据时用来改变抽取数据形式的,而 ORDER BY 是用来指定取得结果显示顺序的

TRUNCATE——只能删除表中全部数据,不能通过WHERE 子句指定条件来删除部分数据

  • TRUNCATE <表名>;

特征:也正是因为它不能具体地控制删除对象,所以其处理速度比 DELETE 要快得多。实际上,DELETE 语句在 DML 语句中也属于处理时间比较长的,因此需要删除全部数据行时,使用 TRUNCATE 可以缩短执行时间。

原文地址:https://www.cnblogs.com/philipchan/p/14319651.html