PostgreSQL delete 删除数据
在 PostgreSQL 数据库中,可以使用 delete 语句删除表记录,where 子句用于过虑要删除的数据记录。如果没有指定 where 子句,则将会删除所有行。如果想要删除一个表的所有数据,建议使用 truncate table 语句,而不是不加 where 条件的 delete 语句。
1. delete 删除数据语法
下面是 delete 语句的完整语法:
[ WITH [ RECURSIVE ] with_query [, ...] ] DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ] [ USING from_item [, ...] ] [ WHERE condition | WHERE CURRENT OF cursor_name ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
delete 完整语法各类很多,也很复杂,在日常工作中只需掌握 delete 基本语法即可,如下:
DELETE FROM table_name WHERE [condition];
2. delete 使用示例
下面举个例子,创建一张表 t,包含 2 个字段 id 和 name,并插入两条记录,如下:
postgres=# create table t(id int, name text); CREATE TABLE postgres=# insert into t values(1,'A'),(2,'B'); INSERT 0 2 postgres=# select * from t; id | name ----+------ 1 | A 2 | B (2 rows)
将 id 为 2 的记录删除,删除之后再次查询,可以看到该记录已删除,如下:
postgres=# delete from t where id = 2; DELETE 1 postgres=# select * from t; id | name ----+------ 1 | A (1 row)
文章评论
共0条评论