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明日之星投上一票哦亲!

时间: 2024-12-31 19:30:26

Vertica数据库sql操作备忘的相关文章

利用jailkit-2.16.tar.gz + ssh 进行 chroot 操作[备忘]

目标  利用  jaikit 环境, 能够把某个目录虚拟成为 / ,  并且把远程用户限制在该目录中活动,与真正的系统 / 环境进行隔离 利用该环境能够避免开发人员过多地访问系统资源,增加系统安全性     1.      编译jailkit-2.16.tar.gz  ./configure && make && make install   2.      定义 /data作为数据存放区间, 笼环境专用分区 利用 sdb1 挂载 /data chown root:root

sql 多条件组合查询,并根据指定类别找出所有最小子类别的SQL语句备忘_MsSql

复制代码 代码如下: DECLARE @PAGESIZE INT DECLARE @PAGEINDEX INT DECLARE @PAGECOUNT INT DECLARE @RECORDCOUNT INT SELECT @PAGESIZE=5 SELECT @PAGEINDEX=1 DECLARE @FIELDNAME VARCHAR(50) DECLARE @FIELDVALUE VARCHAR(50) DECLARE @OPERATION VARCHAR(50) --组合条件 DECLAR

SQL SERVER 备忘

1.不要出现Select * ,需要什么字段写什么字段. 2.插入大量数据时,尽量不要使用循环,可以使用CTE,如果要使用循环,可放到一个事务中 BEGIN TRAN DECLARE @index INT; SET @index = 1; WHILE @index <= 100000 BEGIN INSERT dbo.TestTable(Number) VALUES( @index); SET @index = @index + 1; END COMMIT  3.查询3条随机数据 SELECT

jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)

JqGrid相关操作备忘 方法列表 1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(json):$("#gridid").jqGrid('getRowData', id); 3.刷新列表:$(refreshSelector).jqGrid('setGridParam', { url: ''), postData: ''}).trigger('reloadGrid'); 4.选

jailkit-2.16.tar.gz 笼环境增加中文环境[备忘] rhel5,6

建立笼环境方法及  jailkit 笼环境作用,参考下面文档 利用jailkit-2.16.tar.gz + ssh 进行 chroot 操作[备忘]   当前默认安装笼环境后, 只具备英文环境,可参考下面方法增加中文支持  [仅支持  rhel5 版本] 1.  复制字符至笼环境 cp -pR /usr/lib/locale/zh_CN.utf8/ /data/usr/lib/locale/zh_CN.utf8/   2.  修改用户配置文件 vi /data/home/terry/.bash

mysql一些操作个人备忘(持续更新)

安装mysql数据库目录 1./usr/local/mysql/bin/mysql_install_db --user=mysql --datadir=/home/mysql/var ##指定安装后的数据目录 mysql 启动/关闭 1./usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/.my.cnf --user=mysql & #启动 2./usr/local/mysql/bin/mysqladmin --default

mysql 数据库导入\导出(总结备忘)

 数据库的基本导入\导出的命令 是 mysqldump 和 source  在linux下直接用命令行操作就可以 在windows下 一般情况下有两种方法一个也是用命令行 另一个是用phpmyadmin   先来说说phpmyadmin 这个工具导出和导入很简单 而且导入时无需建库 直接还原成原来的数据库   用source  也可以还原 但他导入文件时有大小限制不能超过2M 再来说说  mysqldump 和 source  用命令操作很快 但是想把导出的文件再导入时必须先建立一个数据库(这个

Oracle数据库如何手动恢复备忘日志

最近因为升级了Mac os x 10.10 Yosemite,突然前几天的一个晚上,开机发现就停留在开机界面了,看来BETA果然是不靠谱,然后想到自己这不前几天刚备份完吗,没事,TimeMachine是何等神器,二话不说直接恢复.但是恢复完,我后悔了,一来是忘了昨天晚上还加班呢,加班的成功保留成果所剩无几,关键我这才发现TimeMachine既然不备份虚拟机文件(虚拟机文件30G,估计直接给略过了吧),难怪每次都觉得备份那么快. 不过后悔也没用,重新搭开发环境吧.操作系统WIN7->开发工具VS

编程-关于C#使用OleDbCommand对sql server数据库进行操作的问题

问题描述 关于C#使用OleDbCommand对sql server数据库进行操作的问题 有个编程作业是要模拟一个ATM机,我用vs2013来编写的,sql server版本是2012 数据库ATM中已经有表account(card_id , account_owner , account_password , account_sum) 怎样利用OleDbCommand来执行语句:update account set account_sum=new_sum where card_id=00000