Vertica数据库sql操作备忘

本文详细介绍了如何在Vertica数据库中删除主键、创建用户和SCHEMA、给权限、建表、增加及修改字段、两表之间及两库之间的数据导出与导入等关键步骤。同时提供了数据库操作的实例,帮助开发者掌握数据库管理和数据迁移的核心技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

删除主键(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明日之星投上一票哦亲!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值