使用DML命令更新表
GaussDB支持标准的数据库操作语言(DML)命令,对表进行更新。
操作步骤
假设存在表customer_t,表结构如下:
1 2 3 4 5 6 |
openGauss=# 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中插入一行。
1
openGauss=# INSERT INTO customer_t (c_customer_sk, c_customer_id, c_first_name,c_last_name) VALUES (3769, 5, 'Grace','White');
- 向表customer_t中插入多行数据。
1 2 3 4 5
openGauss=# 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');
更多关于INSERT的使用方法,请参见向表中插入数据。
- 向表customer_t中插入一行。
- 使用UPDATE更新表中数据。修改字段c_customer_id值为0。
1
openGauss=# UPDATE customer_t SET c_customer_id = 0;
更多关于UPDATE的使用方法,请参见UPDATE。
- 使用DELETE删除表中的行。
可以使用WHERE子句指定需要删除的行,若不指定即删除表中所有的行,只保留数据结构。
1
openGauss=# DELETE FROM customer_t WHERE c_last_name = 'Baker';
更多关于DELETE的使用方法,请参见DELETE。
- 使用TRUNCATE命令快速从表中删除所有的行。
1
openGauss=# TRUNCATE TABLE customer_t;
更多关于TRUNCATE的使用方法,请参见TRUNCATE。
删除表时,DELETE语句每次删除一行数据而TRUNCATE语句是通过释放表存储的数据页来删除数据,使用TRUNCATE语句比使用DELETE语句更加快速。
使用DELETE语句删除表时,仅删除数据,不释放存储空间。使用TRUNCATE语句删除表时,删除数据且释放存储空间。