删除 (SQL)

SQL里,DELETE语句用于从表中删除一个或多个数据。使用它需要定义一个子集作为条件,否则表中的所有数据都会被删除。

用法

DELETE 语句的一半语法为:

DELETE FROM 表名 [WHERE 条件]

该语句能够使表中所有满足WHERE子句条件的元组都会被删除。如果缺少 WHERE 子句,则表中所有的元组都会被删除。

执行一条 DELETE 语法能够触发触发器而在其他表中执行删除操作。例如,有相联系的两个表,如果作为被参照关系的表中的元组被删除,则作为参照关系的表也会被删除,以保证关系的参照完整性

示例

  • 从表 pies中删除flavorLemon Meringue的元组:
DELETE FROM pies WHERE flavor='Lemon Meringue';
  • 从表trees中删除height低于80的元组.
DELETE FROM trees WHERE height < 80;
  • 删除表mytable中所有的元组:
DELETE FROM mytable;
  • 删除表 mytable中符合子查询结果的元组:
DELETE FROM mytable WHERE id IN (SELECT id FROM mytable2)

参考