我是靠谱客的博主 伶俐雪糕,最近开发中收集的这篇文章主要介绍Vertica数据库sql操作备忘,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

删除主键( Vertica数据库的主键值并不是唯一的):
SELECT ANALYZE_CONSTRAINTS('fb_s.c_log');

找到key名,再:

ALTER TABLE fb_s.c_log DROP CONSTRAINT C_PRIMARY;

SELECT ANALYZE_CONSTRAINTS('fb_s.user_info');

ALTER TABLE fb_s.user_info DROP CONSTRAINT C_PRIMARY;

建用户和SCHEMA :

CREATE user fb_s_sql IDENTIFIED BY 'password';
CREATE SCHEMA fb_s_sql;

给权限:
GRANT ALL ON SCHEMA fb_s_sql TO fb_s_sql;
GRANT ALL ON SCHEMA fb_s TO fb_s_sql;

GRANT ALL ON TABLE fb_s_sql.sqllog TO fb_s_sql;

建表:

CREATE TABLE fb_s.c_log (
uid int NOT NULL,
cash int,
gold int,
level int,
rtime datetime,
tid varchar(20),
act varchar(50),
item varchar(500),
value int,
value2 int,
time datetime
);

CREATE TABLE fb_s.new_c_log (
uid integer PRIMARY KEY NOT NULL,
cash integer,
gold integer,
level integer,
rtime datetime,
tid varchar(20),
act varchar(50),
item varchar(500),
value integer,
value2 integer,
time datetime NOT NULL
)
PARTITION BY EXTRACT(year FROM time)*100 + EXTRACT(month FROM time);

后一个是按time字段分区

增加及修改字段:

ALTER TABLE fb_s.c_logADD COLUMN value2 integer default 0;
ALTER TABLE fb_s.c_log ALTER COLUMN duration SET DEFAULT 0;
ALTER TABLE fb_s.c_log ALTER COLUMN mesg SET DEFAULT '';


两表之间导数据:
insert into fb_s.c_log (uid,cash,gold,level,rtime,tid,act,item,value,value2,time)
(select * from fb_s.c_logbak);

两库之间导数据:

在源库 导出

vsql -d topcity -U dbadmin -w password -F ',' -At -o fs_user_info.csv -c "SELECT * FROM fb_s.user_info;" &
vsql -d topcity -U dbadmin -w password -F ',' -At -o fs_c_log.csv -c "SELECT * FROM fb_s.c_log;" &

目的 库导入
COPY fb_s.user_info FROM '/opt/fs_user_info.csv' EXCEPTIONS '/tmp/exp.log' DELIMITER ',';

COPY fb_s.c_log FROM '/opt/fs_c_log.csv' EXCEPTIONS '/tmp/exp.log' DELIMITER ',';


PS:

是不是感觉本大神无所不会,想崇拜本神的email到 zhe-jiang.he@hp.com.

帮我在HP明日之星投上一票哦亲!

最后

以上就是伶俐雪糕为你收集整理的Vertica数据库sql操作备忘的全部内容,希望文章能够帮你解决Vertica数据库sql操作备忘所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部