MemFireDB SQL语法 - DELETE 语句
删除
概要
使用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;
相关文章