【GBase 8a MPP数据库集群】使用SET指定列值来加载数据文件

SET:指定列值加载,加载系统将待加载文件和指定加载列值加载到集群系统的表中。输入的类型应为常量,包括字符串、整数值、浮点值和 NULL。

  1. 支持指定所有列类型加载值;
  2. 指定列值为常量值(包括 NULL),包括字符串(单引号包围)、十进制数值( 10)、浮点值( 10.9)、 NULL、 16 进制表示的字符串( 0xbac3)、科学计数法( 10e4);
  3. 支持多列同时指定加载值。最多可 SET 表列数-1 ,如果设置的列数与表定义中的列数一致将报错: Specified all fields;
  4. 支持 format=3、 format=4 以及 format=5

使用限制说明:

  1. 输入除常量值外的其他值,如列名、表达式等会报错,报错信息为 Column’addr’ should be const value;
  2. 指定的列不能存在于 TABLE_FIELDS 中,否则报错;
  3. 如果没有指定 AUTOFILL,指定值的列数+数据中列数之和必须等于表定义或者 TABLE_FIELDS (若指定了 TABLE_FIELDS)中的列数,否则会产生错误数据;如果指定了 AUTOFILL, 则可以小于表定义的列数,缺少的列会自动补全。如果 TABLE_FIELDS 列数+SET 列数小于表定义的列数,能够正常加载,没有涉及的列按照 default 值补齐;
  4. 同一列在 SQL 中不能重复指定,否则报错;

加载示例
建表语句

CREATE TABLE "t" ("a" varchar(10) DEFAULT NULL, "b" int(11) DEFAULT NULL, "c" datetime
DEFAULT NULL, "d" varchar(10) DEFAULT NULL, "e" decimal(10,2) DEFAULT NULL );

数据文件

Hello|01
Good|02
Better|03

加载过程

gbase> Load data infile 'data.tbl' into table t fields terminated by '|' set
c='2016-06-06 18:08:08',d='default',e=20.6;
Query OK, 3 rows affected
Task 2920 finished, Loaded 3 records, Skipped 0 records

查询入库数据

gbase> select * from t;
+--------+------+---------------------------------+---------+-------+
| a | b | c | d | e |
+--------+------+----------------------------------+---------+-------+
| Hello | 1 | 2016-06-06 18:08:08 | default | 20.60 |
| Good | 2 | 2016-06-06 18:08:08 | default | 20.60 |
| Better | 3 | 2016-06-06 18:08:08 | default | 20.60 |
+--------+------+------------------------------------+---------+-------+
5 rows in set
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值