使用DML 命令更新表
GBase 8c 支持标准DML 命令(数据库操作语言),对表进行更新。
操作步骤
假设存在表customer_t,表结构如下:
postgres=# CREATE TABLE customer_t
( c_customer_sk
integer,
c_customer_id
char(5),
c_first_name char(6),
c_last_name char(8)
) ;
可以使用如下DML 命令对表进行数据更新。
使用INSERT 向表中插入数据。
向表customer_t 中插入一行。
postgres=# INSERT INTO customer_t (c_customer_sk, c_customer_id,
c_first_name,c_last_name) VALUES (3769, 5, 'Grace','White');
向表customer_t 中插入多行数据。
postgres=# INSERT INTO customer_t (c_customer_sk, c_customer_id,
c_first_name,c_last_name) VALUES
(6885, 1, 'Joes', 'Hunter'),
(4321, 2, 'Lily','Carter'),
(9527, 3, 'James', 'Cook'),
(9500, 4, 'Lucy', 'Baker');
GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
325
更多关于INSERT 的使用方法,参见3.6.2 向表中插入数据。
使用UPDATE 更新表中数据。修改字段c_customer_id 值为0。
postgres=# UPDATE customer_t SET c_customer_id = 0;
更多关于UPDATE 的使用方法,请参见《GBase 8c V5_3.0.0_SQL 手册》UPDATE。
使用DELETE 删除表中的行。
可以使用WHERE 子句指定需要删除的行,
若不指定即删除表中所有的行,
只保留数据
结构。
postgres=# DELETE FROM customer_t WHERE c_last_name = 'Baker';
更多关于DELETE 的使用方法,请参见《GBase 8c V5_3.0.0_SQL 手册》DELETE。
使用TRUNCATE 命令快速从表中删除所有的行。
postgres=# TRUNCATE TABLE customer_t;
更多关于TRUNCATE的使用方法,
请参见
《GBase 8c V5_3.0.0_SQL 手册》TRUNCATE。
删除表时,使用DELETE 语句每次删除一行数据,仅删除数据而不释放存储空间;使
用TRUNCATE 语句则是通过释放表存储的数据页来删除数据,删除数据且释放存储空间。
使用TRUNCATE 语句进行表删除速度更快。