SQL/Hive应用笔记

SQL/Hive应用笔记


insert overwrite table XXX
insert into table XXX
overwrite会覆盖现有的数据,而into是直接将数据写入库。
如果需要的是去重的数据,那么应该选择overwrite作为插入的方式

insert into dws_risk_acct_out_info(data_dt,sys_org_id) values(‘20221102’,‘0400’)
insert into dws_risk_acct_out_info partition(data_dt =‘20221102’)(sys_org_id) values(‘0400’)
向分区中插入数据

ALTER TABLE XXX.xxx REPLICA IDENTITY FULL;
update XXX.xxx set 字段名=‘2022’;
设置表为可编辑,将表中所有该字段改为2022

PostgreSQL中删除主键
ALTER TABLE treasury.risk_pay DROP CONSTRAINT risk_pay_pkey1
alter table treasury.risk_pay add primary key (risk_pay)
删除非空限制
alter table xxx alter xxx drop not null;
增加非空限制
alter table xxx alter xxx set not null;

SELECT ‘a’||FLOOR(RANDOM()*900)+100
生成100-1000之间的随机整数,例如a355

ceil(random()*900+100)
ceil向上取整

SELECT CASE FLOOR(RANDOM()*3)
WHEN 1 THEN
‘x’
WHEN 2 THEN
‘y’
WHEN 3 THEN
‘z’
ELSE
‘a’
END “case”
从多个字符串中随机取数

HAVING sum(a)>400

group by 必须有sum()、count()、avg()等“聚合函数”配合才能使用,使用时至少需要一个分组标志字段。

union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。

通过 partition by [姓名] order by [打卡时间] desc,这句就可以做到,让数据按照姓名分组,并且在每组内部按照时间进行排序

CONCAT(from_unixtime(unix_timestamp(), ‘yyyy’),‘0101’)
当前年第一天

CONCAT(from_unixtime(unix_timestamp(), ‘yyyyMM’),‘01’)
当前月第一天

alter table tableName add columns (newcol1 int comment ‘新增’);

alter table tableName change col_name new_col_name new_type;

alter table tableName replace columns (col1 int,col2 string,col3 string);

use xxxdb; drop table table_name;
删表
use xxxdb; alter table table_name rename to new_table_name;
改表名

INSERT INTO table_name
VALUES (value1,value2,value3,…);
SQL插入

UPDATE table_name
SET column1=value1,column2=value2,…
WHERE some_column=some_value;
SQL更新/修改

DELETE FROM table_name
WHERE some_column=some_value;
SQL删除

UPDATE risk_todo_pool_monitor SET account = substr(account,1,4)||regexp_replace(substr(account,5,15),‘([0-9]{15})’,‘***********’)||substr(account,16,19)
脱敏处理

show create table XXX;
或 desc XXX;

drop table tablename
删除整个表

truncate table tablename
删除表数据保留结构

猜你喜欢

转载自blog.csdn.net/qq_43605229/article/details/127365979