写点什么

GreenPlum 的 CURD

用户头像
数据社
关注
发布于: 2021 年 05 月 09 日
GreenPlum的CURD


上文我们介绍了 GPDB 的常用管理操作,今天我们来说下它的增删改查。这是对于一个数据库最基本的功能了,然而 GPDB 有它自己的特性,我们一起来看下。

插入数据

按列插入数据:


gptest=# create table products (name varchar(20),price numeric(10,2),product_no bigint)  distributed by  (product_no);                     CREATE TABLEgptest=# INSERT INTO products (name, price, product_no) VALUES ('Cheese', 9.99, 1);INSERT 0 1gptest=# select * from products;  name  | price | product_no --------+-------+------------ Cheese |  9.99 |          1(1 row)
复制代码


同事插入多列:


gptest=# INSERT INTO products (product_no, name, price) VALUESgptest-#     (1, 'Cheese', 9.99),gptest-#     (2, 'Bread', 1.99),gptest-#     (3, 'Milk', 2.99);INSERT 0 3gptest=# select * from products;                                                                                                            name  | price | product_no --------+-------+------------ Cheese |  9.99 |          1 Cheese |  9.99 |          1 Bread  |  1.99 |          2 Milk   |  2.99 |          3(4 rows)
复制代码


我们看到了 GPDB 插入数据和普通数据库一样,那么是否可以像传统的 DBMS 一样用作 OLTP 系统呢。不是的!GPDB 官方文档指出对于 append 表最大 127 个并发实务操作,所以你不能把它用作生产业务系统数据库,对于高并发并不合适!**对于频繁的数据插入操作,我们通常不用 insert 操作,用 copy 命令,后面我们会介绍。

更新数据

gptest=# UPDATE products SET price = 10 WHERE price = 9.99;UPDATE 2gptest=# select * from products;  name  | price | product_no --------+-------+------------ Bread  |  1.99 |          2 Cheese | 10.00 |          1 Cheese | 10.00 |          1 Milk   |  2.99 |          3(4 rows)
复制代码

删除数据

gptest=# DELETE FROM products WHERE price = 10;DELETE 2gptest=# select * from products; name  | price | product_no -------+-------+------------ Milk  |  2.99 |          3 Bread |  1.99 |          2(2 rows)
复制代码

清空表数据

gptest=# truncate table products;TRUNCATE TABLEgptest=# select * from products;  name | price | product_no ------+-------+------------(0 rows)
复制代码


GPDB 的删除和更新操作,并不是直接物理删除数据,而是对数据打了一个标志,select 查询的时候看不到而已,GPDB 会定时自动清空这些数据,回收空间。当然你也可以手动运行 VACUUM 命令来手动回收空间。


VACUUM products
复制代码


删除数据后,最好运行一下 VACUUM,对于大表,不要轻易做 VACUUM!

发布于: 2021 年 05 月 09 日阅读数: 10
用户头像

数据社

关注

微信公众号:数据社 2018.04.26 加入

专注大数据架构,数据仓库,MPP数据库分享,微信公众号数据社

评论

发布
暂无评论
GreenPlum的CURD