`
walsh
  • 浏览: 429388 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

常用数据库操作语句

阅读更多
下面的SQL语句都是在Oracle上进行的。

一、创建新表的同时,将查询结果插入新表

  
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
)



二、将查询结果直接插入另一个表中:
 
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);


三、大数据表创建分区表的步骤:
   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;


四:数据表的导入和导出
   1、数据表的导出:
exp 用户名/密码@ORADB  file= d:\RD20090714.dmp tables= (ROADSTATUS_20090714)
  
   2、数据表的导入:
   
imp 用户名/密码@ORADB  full=y file=E:\路况数据\P20090721.dmp  ignore=y 
  




0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics