您的位置:首页 > 其它

Vertia的这些事<一>—— 关于vertica的常用操作

2016-02-19 11:15 183 查看
在工作中用到vertica,环境都是直接HP的人来部署的,在网上查也很少有学习资料,一下总结了一部分常用操作,仅供参考:

进入vertica的sql环境:vsql -d dbname -w passwd

创建序列:CREATE SEQUENCE sq1 MAXVALUE 5000 START 1;

使用序列:SELECT NEXTVAL('my_seq');
删除序列:DROP SEQUENCE seq_name;
修改列名:alter table csaprp.tb_rp_ct_olcs_work_list_dispose_mon rename statis_date to statis_month;
增加列:alter table test.DIM_DETAIL_SVCTYPE add column if_app numeric(10,0);
删除表列:alter table test.DIM_DETAIL_SVCTYPE drop column if_app;
查找用户:select * from v_catalog.users;
修改表为分区表:alter table test.fct_fournet_wlanap_equp_ana_d partition by day_id;
修改表名:alter table test.fct_fournet_wlanap_equp_ana_d_x rename to fct_fournet_wlanap_equp_ana_d;
修改表所属用户:alter table test.fct_fournet_wlanap_equp_ana_d owner to dev_test;
查询表:select * from tables;
查询注释:select * from comments where object_name='tb_rp_ct_rena_new_in_man_audit_day';
产生随机数:SELECT RANDOM();
从vertica数据的表中导出数据到数据文件,shell命令:echo `vsql -d dbname -U dbadmin -Atq -w Zongfen_12 -c "select * from test.dim_flow_direction order by flow_type_code"> /database/datastage/export/dim_all/test`;

通过数据文件向vertica数据库里加载数据:copy test.fct_flux_se_bus_res_ana_d from '/database/imp_file/fct_flux_se_bus_res_ana_d' on v_dbname_node0002 delimiter '|';
显示表结构:\d table;

从vertica数据的表中导出数据到数据文件,shell命令:

    echo `vsql -d dbname -U dbadmin -Atq -w Zongfen_12 -c "select * from test.dim_flow_direction order by flow_type_code"> /database/datastage/export/dim_all/test`

通过数据文件向vertica数据库里加载数据:

  copy test.fct_flux_se_bus_res_ana_d from '/database/imp_file/fct_flux_se_bus_res_ana_d' on v_dbname_node0002 delimiter '|';

更改字段数据类型

         alter table test.dim_micro_area_gsm alter column cell_id set data type numeric(15,0);          

         对于数值类型:types–INTEGER, INT, BIGINT, TINYINT, INT8, SMALLINT, and all NUMERIC values of scale <=18 and precision 0 之间是可以互相转化的。此外,numeric类型的精度(precision)是无法更改的,但是长度(scale)是可以修改的,(0-18)之间可以 互修改,(19-37)之间可以互修改。

修改表所属的用户

alter table test.fct_fournet_wlanap_equp_ana_d owner to dev_test;
vertica怎么修改一个表字段允许为空呢,查看官方文档得到:
              alter table TABLE_NAME alter column prov_name drop not NULL; 
          杀锁:
SELECT transaction_id FROM locks; ---查看transaction_id

SELECT * FROM sessions where transaction_id=<>;

SELECT INTERRUPT_STATEMENT('<session_id>', '<statement_id>');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vertica