oracle的sql常规操作笔记

1.表数据备份

create table bak_AAA as
select * from AAA;
把表AAA里所有的查询结果备份到表bak_AAA 里
也可以把表AAA的部分数据备份,只要把“*”换成字段,在AAA后面加where条件即可

2.备份好的数据进行恢复

2.1 先把和备份表里重复的数据删掉
delete from full_request_info_t where request_id in(select request_id from bak_full_request_info_t);
注:request_id是主键
2.2 把备份得数据再插入到表内
insert into AAA select * from bak_AAA;
恢复部分数据,可在sql后面加响应的条件

3.case when函数

select
c.owner,
case c.owner when ‘2010401’ then ‘1001’ when ‘1001’ then ‘移动’ when ‘1002’ then ‘移动’ when ‘1003’ then ‘电信’
end as PROPERTY_TYPE
from AAA;
把表AAA中的owner字段查出来,用PROPERTY_TYPE来表示,如果值是“2010401”则显示为“1001”,如果值是“1001”则显示为“移动”,“1002”显示为“联通”,“1003”显示为“电信”
结果如下:
在这里插入图片描述

4.merge into 原来更新表数据

当数据量较大的时候 merge into比直接insert效率高

MERGE INTO AAA A USING (select B.request_id,B.site_name,B.cust_company from BBB B) C ON (A.request_id=C.request_id)
WHEN MATCHED THEN
UPDATE SET A.site_name=C.site_name
	  ,A.cust_company=C.cust_company	 
WHEN NOT MATCHED THEN
 INSERT(A.request_id,A.site_name,A.cust_company) 
 VALUES(C.request_id,C.site_name,C.cust_company); 
commit;

用表BBB内的数据来更新AAA表内的数据。

5.drop table 表名,删除表

drop table AAA;

可删除表,包括表内数据和表结构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值