GreenPlum数据库及语法使用

2023-03-09 00:00:00 数据 函数 分区 分区表 类型

GreenPlum数据库及语法使用

1.启动和停止

su gpadmin

gpstart -a(-a的原因是不需要在手动输入yes)

gpstop -a

2.查看数据库状态

psql -l

pgstate

3.命令行连接访问数据库



4.DML操作
创建新表
create table user(
name varchar(20),
signup_date DATE
);

插入数据
insert into
user(name,sing_date) values('张三','2021-10-21');

选择记录
select *
from user;

更新记录
update user set name = 'zxy' where name = 'zhou';

删除记录
delete from user where name = '李四';

添加字段
alter table user add email varchar(40);

更新字段
alter table user alter column sing_date set not null;

更名字段
alter table user rename column sing_date to signup;

删除字段
alter table user drop column email;

删除表格
drop table if exists user;

5.基本语法
创建数据库
createdb serviceDB(库名) -E utf-8
然后默认数据库
export GPDATABASE = serviceDB
进入命令界面
psql

查询建表
-- 方法一
create user as select * from text1;

--方法二
select * into user from text1;

Insert
在执行insert的时候吗,注意分布建不要为空,否则分布建默认会变成null,数据都被保存在一个节点上,导致数据分布不均。

Update
不能批量对分布建执行update,因为对分布建执行update需要数据重分布,Greenplum暂时不支持这个功能。

Delete
Greenplum 3.X版本中,如果delete操作设计子查询,并且子查询的结果还会涉及数据重分布,这样的删除语句会报错。 对整张表执行Delete较慢的,有此需求的建议使用truncate

Truncate
与Oracle一样,执行Truncate直接删除表的物理文件,然后创建新的数据文件。truncate操作比delete操作在性能上有非常大的提升,当前如果有SQL正在操作这张表,那么truncate操作会被锁住,直到表上所有所被释放。

6.常见数据类型
6.1 数值类型

6.2 字符类型

相关文章