我现在需要把mysql里的数据移植到oracle中,我想从mysql中导成sql语句,然后在oracle中执行Sql脚本,
但是有的表数据量比较大,上百万条,我就想把大表里的数据按时间段部分导出,以免导出时间太久?
各位高手,指点下,或有其他方式,我用的navicat lite工具

解决方案 »

  1.   

    mysql -uroot -p123 aa -e "select * from a where ..." > r:\temp\123.txt
    mysqldump -uroot -p123 databasename -w"id in (1,2)" >r:\temp\test.text
    OR
    用SELECT INTO OUTFILE
      

  2.   

    mysqldump -uroot -p123 databasename -w"id in (1,2)" >r:\temp\test.text 这个怎么指定是哪个表?
      

  3.   

    mysqldump -uroot -p123 databasename tablename -w"id in (1,2)" >r:\temp\test.text 
      

  4.   

    mysqldump -uroot  rms --table e1_record -w" str_to_date(insert_time , '%Y-%m-%d') <str_to_date('2011-5-1' , '%Y-%m-%d')" >/root/e1_record_11_5_1.sql 
    现在可以导成脚本了,咋脚本是这样的?不是一条一条insert into语句
    INSERT INTO `e1_record` VALUES (206,'96655_5003_7.wav','gsm610','','描述','172.30.68.66','ent001/2010-12-23/96655/','268439527','2010-12-23 17:29:32','2010-12-23 17:30:12','5003','96655','1','5004','2002','1','0','','2010-12-23 17:30:13',0,'0','0',''),(207,'96655_5003_1.wav','gsm610','','描述','172.30.68.66','ent001/2010-12-24/96655/','268439527','2010-12-24 10:44:08','2010-12-24 10:44:20','5003','96655','1','5004','2002','1','0','','2010-12-24 10:44:21',0,'0','0',''),(208,'96655_5003_1.wav','gsm610','','描述','172.30.68.66','ent001/2010-12-24/96655/','268439527','2010-12-24 11:10:44','2010-12-24 11:11:05','5003','96655','1','5004','2002','1','0','','2010-12-24 11:11:06',0,'0','0',''),(209,'96655_5003_1.wav','gsm610','','描述','172.30.68.66','ent001/2010-12-24/96655/','268439527','2010-12-24 11:23:26','2010-12-24 11:23:43','5003','96655','1','5004','2002','1','0','','2010-12-24 11:23:43',0,'0','0',''),(210,'96655_5003_2.wav','gsm610','','描述','172.30.68.66','ent001/2010-12-24/96655/','','2010-12-24 12:04:27','2010-12-24 12:04:34','5003','96655','1','','','1','0','','2010-12-24 12:04:35',0,'0','0',''),(211,'96655_5003_1.wav','gsm610','','描述','172.30.68.66','ent001/2010-12-24/96655/','268439527','2010-12-24 14:15:46','2010-12-24 14:16:10','5003','96655','1','5004','2002','1','0','','2010-12-24 14:16:11',0,'0','0',''),(212,'96655_5003_3.wav','gsm610','','描述','172.30.68.66','ent001/2010-12-24/96655/','268439527','2010-12-24 14:20:11','2010-12-24 14:20:20','5003','96655','1','5004','2002','1','0','','2010-12-24 14:20:20',0,'0','0',''),(213,'96655_5003_2.wav','gsm610','','描述','172.30.68.66','ent001/2010-12-24/96655/','268439527','2010-12-24 14:19:53','2010-12-24 14:20:21','5003','96655','1','5004','2002','1','0','','2010-12-24 14:20:22',0,'0','0',''),(214,'96655_5003_1.wav','gsm610','','描述','172.30.68.66','ent001/2010-12-24/96655/','268439527','2010-12-24 15:23:14','2010-12-24 15:23:59','5003','96655','1','5004','2002','1','0','','2010-12-24 15:24:00',0,'0','0',''),(215,'96655_5003_1.wav','gsm610','','描述','172.30.68.66','ent001/2010-12-24/96655/','268439527','2010-12-24 15:23:14','2010-12-24 15:23:59','5003','96655','1','5004','2002','1','0','','2010-12-24 15:32:33',0,'0','0','')
      

  5.   


    那样插入更快啊,你要一条一条的语句的话可以这样:
    mysqldump -uroot  rms --extended-insert=false --table e1_record -w" str_to_date(insert_time , '%Y-%m-%d') <str_to_date('2011-5-1' , '%Y-%m-%d')" >/root/e1_record_11_5_1.sql