常用数据库操作语句

下面的SQL语句都是在Oracle上进行的。
[color=red]
一、创建新表的同时,将查询结果插入新表[/color]
create table temp as  (
select *
from (select * from its_ptroadstatus_tbl t where t.roadid > 1000000)
where rownum < 10001
union
select *
from its_ptroadstatus_tbl t
where t.roadid < 1000000
and rownum < 10
)



[color=red]二、将查询结果直接插入另一个表中:[/color]

insert into roadstatus_20090721
(RUNNO, roadid, emptytaxispeed, emptytaxitime, intime)
(select b.RUNNO, b.ROADID, b.EMPTYTAXISPEED, b.EMPTYTAXITIME, b.INTIME
from autonavi_high_41000 a
inner join (select *
from its_ptroadstatus_tbl t
where t.intime between
to_date('2009-7-21 00:00:00', 'yyyy-mm-dd HH24:mi:ss') and
to_date('2009-7-21 23:59:59', 'yyyy-mm-dd HH24:mi:ss')) b on a.road_ = b.roadid);


[color=red]三、大数据表创建分区表的步骤:[/color]
1. 创建分区表:
 CREATE TABLE T_NEW (RUNNO NUMBER(12),ROADID NUMBER(10),EMPTYTAXISPEED NUMBER(6,2), EMPTYTAXITIME DATE, INTIME DATE) PARTITION BY RANGE (INTIME)
(PARTITION Part1_20090707 VALUES LESS THAN (TO_DATE('2009-07-08', 'YYYY-MM-DD')) tablespace SUNLI,
PARTITION Part2_20090714 VALUES LESS THAN (TO_DATE('2009-07-15', 'YYYY-MM-DD')) tablespace SUNLI,
PARTITION Part3_20090721 VALUES LESS THAN (TO_DATE('2009-07-22', 'YYYY-MM-DD')) tablespace SUNLI,
PARTITION Part4_20090728 VALUES LESS THAN (TO_DATE('2009-07-29', 'YYYY-MM-DD')) tablespace SUNLI,
PARTITION Part5_20090804 VALUES LESS THAN (TO_DATE('2009-08-05', 'YYYY-MM-DD')) tablespace SUNLI,
PARTITION Part6_20090811 VALUES LESS THAN (TO_DATE('2009-08-12', 'YYYY-MM-DD')) tablespace SUNLI,
PARTITION Part7_20090818 VALUES LESS THAN (TO_DATE('2009-08-19', 'YYYY-MM-DD')) tablespace SUNLI,
PARTITION Part8_20090825 VALUES LESS THAN (MAXVALUE)) tablespace SUNLI;


2. 交换分区
ALTER TABLE T_NEW EXCHANGE PARTITION Part1_20090707 WITH TABLE ITS_PTROADSTATUS_TBL without validation;


3. 原表改名
alter table ITS_PTROADSTATUS_TBL rename to T_OLD;


或者:
RENAME ITS_PTROADSTATUS_TBL TO T_OLD;


4. 新表改名
alter table T_NEW  rename to ITS_PTROADSTATUS_TBL;


5. 删除原表
drop table T_OLD;


6. 创建新表触发器和索引
create index idx_its_ptroadstatus_tbl on ITS_PTROADSTATUS_TBL(roadid) local tablespace SUNLI;


[color=red]四:数据表的导入和导出[/color]
1、数据表的导出:
exp 用户名/密码@ORADB  file= d:\RD20090714.dmp tables= (ROADSTATUS_20090714)

2、数据表的导入:
imp 用户名/密码@ORADB  full=y file=E:\路况数据\P20090721.dmp  ignore=y 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值