MemFireDB SQL语法 - DELETE 语句

2022-04-01 00:00:00 语句 子句 删除 指定 别名

删除

概要

使用DELETE语句删除符合特定条件的行数,并且当WHERE语句中未提供条件时,将删除所有行。DELETE输出要删除的行数。

语法

delete ::= [ WITH [ RECURSIVE ] with_query [ , ... ]  ] DELETE FROM              [ ONLY  ] table_name [ * ] [ [ AS ] alias ]              [  WHERE condition | WHERE CURRENT OF cursor_name ]              [ returning_clause ]returning_clause ::= RETURNING { * | {  output_expression                                         [ [ AS ]  output_name ] }                                         [ , ...  ] }  

申请

  • USING子句尚不支持。
  • 尽管该句句允许使用多种相同,但该句句中使用的具体条件具有重要的性能因素集(特别是对于大型数据集)。为了获得佳性能,请使用 WHERE 为 PRIMARY KEY 或中的所有列提供值的子句INDEX KEY。

with_query 指定在 DELETE语句中按名称引用的子查询。

table_name 指定要删除的表的名称。

别名在DTE语句中指定目标表的元素。指定别名后,必须使用别名替换语句中的实际表。

例子

创建一个示例表,插入几行,然后删除插入的行一个。

CREATE TABLE sample(k1 int, k2 int, v1 int, v2 text,  PRIMARY KEY (k1, k2));INSERT INTO sample VALUES (1, 2.0, 3, 'a'), (2, 3.0, 4,  'b'), (3, 4.0, 5, 'c'); 
SELECT * FROM sample ORDER BY k1;k1 | k2 | v1 | v2----+----+----+----   1 | 2 |   3 | a   2 | 3 |   4 | b   3 | 4 |   5 | c(3 rows)
DELETE FROM sample WHERE k1 = 2 AND k2 = 3;SELECT * FROM sample ORDER BY k1; 

相关文章