Teradata简单表操作

关键字

TABLE --表
CREATE --创建表
DROP --删除表
SET --表中数据唯一
MULTISET --可以存在重复记录
VOLATILE --临时表
SHOW --展现表定义
FORMAT --格式化
NOT NULL --非空约束
TITLE ‘抬头’ --列抬头
UNIQUE --唯一性约束
ON COMMIT PRESERVE ROWS --临时表时使用,

创建表

– 创建普通表
CREATE MULTISET TABLE TEST.CUST (
STAT_DT DATE FORMAT ‘YYYYMMDD’ TITLE ‘统计日期’ NOT NULL
,HOST_CUST_ID VARCHAR(10) TITLE ‘客户号’ UNIQUE NOT NULL
)PRIMARY INDEX (HOST_CUST_ID)
;

–创建临时表
CREATE MULTISET VOLATILE TABLE VT_CUST (
STAT_DT DATE
,HOST_CUST_ID VARCHAR(10)
)ON COMMIT PRESERVE ROWS
;

–根据SQL结果集建表
CREATE MULTISET VOLATILE TABLE VT_CUST AS (
SELECT HOST_CUST_ID FROM TEST.CUST SAMPLE 1111
)WITH DATA ON COMMIT PRESERVE ROWS
;

–根据已有表创建新表
CREATE MULTISET VOLATILE TABLE VT_CUST2 AS VT_CUST1 WITH NO DATA ON COMMIT PRESERVE ROWS; --不含VT_CUST1的数据
CREATE MULTISET VOLATILE TABLE VT_CUST2 AS VT_CUST1 WITH DATA ON COMMIT PRESERVE ROWS; --含VT_CUST1的数据

–根据结果集创建表
CREATE MULTISET VOLATILE TABLE VT_CUST2 AS(
SELECT * FROM TEST.CUST
)WITH DATA
ON COMMIT PRESERVE ROWS; --不含VT_CUST1的数据

–SQL语句中的临时表 (多次引用同一段逻辑时可用)
WITH VT1 AS (SELECT * FROM TEST.CUST)
,VT2 AS (SELECT * FROM TEST.CUST )
SELECT * FROM VT1
;

数据操作

–插入数据
INSERT INTO VT_CUST (HOST_CUST_ID) VALUES (‘12345678’); --指定插入数据
INSERT INTO VT_CUST VALUES (DATE ‘2019-01-01’,‘12345678’); --全字段插入数据
INSERT INT VT_CUST SELECT * FROM VTABLE ;–插入结果集

–删除数据
DELETE FROM VT_CUST WHERE HOST_CUST_ID =‘12345678’ ;

–更改数据
UPDATE VT_CUST SET HOST_CUST_ID=‘99999999’ WHERE STAT_DT IS NULL ;

表结构操作

–增加列 (临时表不能更改表结构)
ALTER TABLE VT_CUST ADD BAL DECIMAL(18,2) ,BAL_SUM DECIMAL(20,2) ;

–删除列
ALTER TABLE VT_CUST DROP BAL ;

–修改列
ALTER TABLE VT_CUST ADD HOST_CUST_ID FORMAT VARCHAR(20) ;

–展示表定义
SHOW TABLE VT_CUST;

你可能感兴趣的:(TeraData)