update用于更新表中的数据,帮助信息如下:
antdb=# \h update
Command: UPDATE
Description: update rows of a table
Syntax:
[ WITH [ RECURSIVE ] with_query [, ...] ]
UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ]
SET { column_name = { expression | DEFAULT } |
( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) |
( column_name [, ...] ) = ( sub-SELECT )
} [, ...]
[ FROM from_list ]
[ WHERE condition | WHERE CURRENT OF cursor_name ]
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]update与delete语句一样,可以通过条件控制来更新单条数据和多条数据。
delete 用于删除表中的数据,语句比较简单:
antdb=# \h delete
Command: DELETE
Description: delete rows of a table
Syntax:
[ WITH [ RECURSIVE ] with_query [, ...] ]
DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ]
[ USING using_list ]
[ WHERE condition | WHERE CURRENT OF cursor_name ]
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
在使用的时候,如果对执行语句不是很确定,可以将语句放在事务中执行,因为adb会自动提交:
antdb=# begin;
BEGIN
antdb=# select * from t_count ;
id | name
----+------
1 | c
(1 row)
antdb=# delete from t_count where id=1;
DELETE 1
antdb=# rollback;
ROLLBACK
antdb=# select * from t_count ;
id | name
----+------
1 | c
(1 row)
注意:
- 尽量避免在生产环境对全表进行delete操作。
- 如果delete的数据量比较大,可以考虑使用新建表的形式将不删除的数据放入新表,然后删除旧表,重命名新表。
关于亚信安慧AntDB数据库
AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。




