GreenPlum创建语句中文说明

1create users and roles

Gp类似于oracle使用角色概念管理db,角色可以是一个用户也可以是一个组,一般用户都拥有login属性,在db刚初始化的时候只有gpadmin有权限创建角色

创建角色:

◦        createuser -p username 

 

Create DataBase(分为新建数据库和克隆数据库)

userName

角色

tablespace

命名空间

encoding

数据库编码

dbname

数据库名称

teamplate

数据库模板(可选)在使用已有数据库模板克隆数据库时才有此选项

克隆:CREATE DATABASE dbname OWNER freeoa TEMPLATE template1 TABLESPACE tablespacename;

新建:CREATE DATABASE new_dbname;

 

2create table(支持PostgreSQL的主外键约束)创建非外部表

username

数据库角色

dbname

数据库名称

schema

数据库模式名称

columnname

字段名称

columntype

字段类型

isprimary

是否主键

checkConstraints

检查建约束

isNotNull

非空约束

isUnique

是否唯一(唯一约束)

accuracy

字段类型精度

distributionPolicy

分布式政策(可选)

partition

分区

storageModel

表的存储模式(即为with语句)

1gp_create_table_random_default_distribution参数设置了默认分布策略,在create table没有指定分布政策时启用默认值。

分布政策分为:hash分布和随机分布(hash分布中的列需对每一行数据是唯一的)

例子:

CREATE TABLE products

                        (name varchar(40),

                         prod_id integer,

                         supplier_id integer)

             DISTRIBUTED BY (prod_id);

2、存储模式:

CREATE TABLE bar (a int,b text)

    WITH (appendonly=true)

    DISTRIBUTED BY (a);

这里创建了一个append-optimized 表,注意append-optimized 表不支持更新和删除操作

 

3Create external table 创建外部表

tablename

表名

isReadTable

只读表还是写表

isRegular

常规外部表还是动态数据源外部表

columName

字段名(外部表中字段没有约束和默认值)

isUsedLike

是否使用like子句进行创建外部表

likeClause

如果使用like字句,like字句如下

dateType

字段类型

location

为外部表加载数据的地址,格式为:protocol://host[:port]/path/file' [, ...]

onClause

On字句(可选)

format

指定数据来源格式,可取值为(TEXT | CSV | AVRO | PARQUET

delimiter

分割符(可选)

NULLValue

指定一个代表null值得字符串(可选)

escape

转移字符(可选)

newline

换行符(可选)

header

指定读入数据文件的标题行(可选)

quote

指定formatcsv模式时的引用符号,默认为双引号(可选)

forceNotNull

指定只读表读入时强制非空的字段

forceQuote

指定CSV模式下外部写表的强制引用列

isFillMissingFields

用于在只读表的csvtext模式下指定是否填充缺失字段

encoding

指定的外部表的字符集编码

rejectLimit

段拒绝限制(可选项,可以指定为rows或者percent,且只适用于只读表)

distributionpolic

分区政策(只用于可写的外部表)

外部表语法:

详情参见:

https://gpdb.docs.pivotal.io/580/ref_guide/sql_commands/CREATE_EXTERNAL_TABLE.html

 

CREATE [READABLE]EXTERNAL TABLE table_name     

    (column_namedata_type[,...]| LIKE other_table )

     LOCATION('file://seghost[:port]/path/file[,...])

       |('gpfdist://filehost[:port]/file_pattern[#transform=trans_name]'

           [,...]

       |('gpfdists://filehost[:port]/file_pattern[#transform=trans_name]'

           [,...])

       |('gphdfs://hdfs_host[:port]/path/file')

       |('pxf://path-to-data?PROFILE[&custom-option=value[...]]'))

       | ('s3://S3_endpoint[:port]/bucket_name/[S3_prefix]

             [region=S3-region]

            [config=config_file]')

     [ON MASTER]

     FORMAT 'TEXT' 

           [([HEADER]

              [DELIMITER [AS]'delimiter' | 'OFF']

              [NULL [AS]'null string']

              [ESCAPE [AS]'escape' | 'OFF']

              [NEWLINE [AS ]'LF' | 'CR' | 'CRLF']

              [FILL MISSING FIELDS])]

          | 'CSV'

           [([HEADER]

              [QUOTE [AS]'quote']

             [DELIMITER [AS]'delimiter']

              [NULL [AS]'null string']

              [FORCE NOT NULL column[,...]]

              [ESCAPE [AS]'escape']

              [NEWLINE [AS ]'LF' | 'CR' | 'CRLF']

              [FILL MISSING FIELDS])]

          | 'AVRO' 

          | 'PARQUET'

          | 'CUSTOM' (Formatter=<formatter_specifications>)

    [ENCODING 'encoding]

      [[LOG ERRORS]SEGMENT REJECT LIMIT count

      [ROWS | PERCENT]]

 

CREATE [READABLE]EXTERNAL WEB TABLE table_name     

   (column_namedata_type[,...]| LIKE other_table )

      LOCATION('http://webhost[:port]/path/file[,...])

    | EXECUTE 'command[ON ALL 

                          | MASTER

                          |number_of_segments

                          | HOST ['segment_hostname']

                          | SEGMENT segment_id]

      FORMAT 'TEXT' 

            [([HEADER]

               [DELIMITER [AS]'delimiter' | 'OFF']

               [NULL [AS]'null string']

               [ESCAPE [AS]'escape' | 'OFF']

               [NEWLINE [AS ]'LF' | 'CR' | 'CRLF']

               [FILL MISSING FIELDS])]

           | 'CSV'

            [([HEADER]

               [QUOTE [AS]'quote']

              [DELIMITER [AS]'delimiter']

               [NULL [AS]'null string']

               [FORCE NOT NULL column[,...]]

               [ESCAPE [AS]'escape']

               [NEWLINE [AS ]'LF' | 'CR' | 'CRLF']

               [FILL MISSING FIELDS])]

           | 'CUSTOM' (Formatter=<formatter specifications>)

     [ENCODING 'encoding]

     [[LOG ERRORS]SEGMENT REJECT LIMIT count

       [ROWS | PERCENT]]

 

4create view 创建视图

CREATE VIEW comedies AS SELECT * FROM films WHERE kind = 'comedy';

viewname

视图名

tablename

视图来源表名

condition

Where限制条件

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值