Vertia的这些事<一>—— 关于vertica的常用操作
2016-02-19 11:15
507 查看
在工作中用到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的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>');
相关文章推荐
- JMeter对Vertica数据库的测试
- 安装vertica-console7.0.x(操作系统:CentOS6.x)
- 用JDBC连接Vertica数据库的例子源代码
- 用JDBC连接Vertica数据库后插入一行数据的例子源代码(接上篇)
- JDBC操作Vertica数据库,用PreparedStatements对象实现批量插入数据
- 如何把其他数据库中AUTO_INCREMENT约束的字段(如ID)导入Vertica数据库
- vertica从其他表迁移数据到新表(insert into 语句用法实例)
- Vertica修改带UNIQUE约束字段的长度
- Vertica用于时间计算的SQL语句大全
- vertica时间计算SQL语句实例:统计一天内登录的用户
- kattle的连接SQLserver与vertica的一些方法
- vertica-->kafka-->mongodb数据流
- Vertica的这些事<十六>—— vertica备份与恢复
- Vertica实时消费kafka实现
- 《Vertica的这些事》系列文章
- Vertica的这些事<七>—— Vertica中实现Oracle中的ws_concat功能
- Vertica的这些事<十一>—— Vertica 管理
- Vertica的这些事<十三>—— Vertica停止数据库的操作步骤
- Vertica的这些事<九>—— 关于vertica的Connection Failover
- Vertica的这些事<四>—— VSQL常用命令