PLSQL导入/导出数据方法

PLSQL导入/导出数据方法

以前导数据库信息的时候,总是会先开启sql窗口,把自己手写的建表文件复制进去,然后再导入数据信息。

今天突然懒得去找以前的建表文件,而想用SLSQL直接从一个数据库中导出信息,导入到另外一个数据库中,发现自己对PLSQL的导入导出完全不了解。下面详细记录一下。

先写一个正确的方法:

导出步骤:

1 tools ->export user object 选择选项,导出.sql文件

2 tools ->export tables-> Oracle Export 选择选项导出.dmp文件

导入步骤:

1 tools->import tables->SQL Inserts 导入.sql文件

2 tools->import talbes->Oracle Import然后再导入dmp文件

数据库的导入导出成功

Tools->Export User Objects导出的是建表语句(包括存储结构)

Tools->Export Tables里面包含三种导出方式:

三种方式都能导出表结构以及数据,网上说三种方法有区别,如下:

Oracle Export,Sql Insert,pl/sql developer 
第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广 
第二种是导出为.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有,会提示不能导出(提示如下: 
table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead),可以用第一种和第三种方式导出。 
第三种是导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出;不能用编辑器查看。

个人比较中意第二种方法,毕竟是SQL文件嘛,自己还可以看,想改也方便

操作选项
一般一些选项选择看字面意思就可以了,重要的上面已经写了(主要include privilege只是包含一些建表信息,并不包括存储过程信息,话说我被这个选项骗了……还是忽略它吧……)

选择drop tables信息中会包含删表语句(注意:选了drop tables就已经默认选了create tables 和 truncate tables),create tables是建表信息,truncate tables和delete tables都是再再插入数据前先删除原有的信息,这两个是二选一,但是truncate tables效率高很多。

where clause可以输入很多命令,比如rownum < 10000只导出每个表的前10000行,等等信息,具体在查信息。

PLSQL导入/导出数据方法

注释:先把所有的用户对象都导出了,那么在你的数据库先执行一下,有了表结构,再用导出的dmp文件,导入表数据就可以了。
export user objects 是导出用户对象,只有表结构。

export tables ,选中用户下所有的表,再导出就导出所有表的数据。

2、 导出数据库对象

在PL/SQL Developer的菜单Tools=>Export User Objects中出来一个对话框界面,然后框选要到处的Oracle 数据库对象,包括表,序列,存储过程,视图,函数等等,并指定导出的文件名称,如下操作。

3)导出表数据

导出表结构和其他对象后,我们下一步就是把数据库的表数据进行导出,PL/SQL Developer工具支持导出数据到PL/SQL数据库脚本中,如下所示。这样导出的脚本,我们可以在PL/SQL Developer工具导入或者自己通过Sql plus 工具进行导入。

至此,我们就已经完成了三种脚本了,包括创建数据库空间和数据库脚本、创建Oracle数据库对象(表、存储过程、视图、序列等)、创建导入数据的脚本,这样三种合一,就是一个完整的数据库了。最后一步就是我们如何导入数据库对象和数据的问题了。

4)导入数据库对象及数据

导入数据库对象和数据的操作一样,都可以通过Import Tables操作实现,我们指定刚才上面两步创建的数据库脚本,执行即可再新的环境中创建数据库对象和数据库数据了。如下所示。

执行的数据界面如下所示。

完成上面几个步骤,我们在新的数据库环境中,就具备了所有的东西了,顺利完成整个Oracle数据库对象及数据的迁移工作。

以上值得注意的是,我们导出Oracle对象和数据的时候,默认还是原来Oracle数据库的表空间和数据库用户名称的,如果我们想要在新的数据库服务器中指定不同的表空间和数据库用户对象,那么我们就需要替换生成的sql脚本,并在第一步指定合理的表空间和数据库用户。

如果是Linux平台下的数据库服务器,第一步操作也是差不多的,就是指定表空间的路径名稍微不同,其他操作并无差异。

PLSQL导入/导出数据方法的更多相关文章

  1. PLSQL导入Excel数据方法

    1.把Excel文件另存为(文本文件(制表符分隔)(*.txt))   2.把新生成的student.txt文件导入到plsql   打开plsql连接到要导入的oracle数据库再打开Tools - ...

  2. MySql导入导出数据方法

    导出全库备份到本地的目录 mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 ...

  3. oracle多种导入导出数据方法

    dmp格式: 1.dmp格式的导出可以通过客户端工具(PL/SQL)操作来完成,通过菜单栏---->Tools---->Export Tables,然后设置勾选相应参数即可,rows代表是 ...

  4. [转]mysql导入导出数据中文乱码解决方法小结

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...

  5. mysql导入导出数据中文乱码解决方法小结

    linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqld ...

  6. CRL快速开发框架系列教程九(导入/导出数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. Android开发笔记:SQLite导入导出数据

    SQLite是Android中最方便使用的数据库了,现在看下如何快速的在SQLite中导入导出数据. 首先由于是.NET项目转Android,原有数据库使用的是SQLSERVER,由于项目相同部分结构 ...

  8. 常见SQL Server导入导出数据的几个工具

    摘自:http://www.cnblogs.com/chenxizhang/archive/2011/06/09/2076542.html 在我们的日常工作中,与数据库打交道的机会越来越多.这一篇文章 ...

  9. 解决mysql导入导出数据乱码问题

    最近在linux上面用mysqldump导出数据,放在windows系统中导入就会出现中文乱码,然后就会导致出现: Unknown MySQL server host和Can't connect to ...

随机推荐

  1. vim cheat sheet

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzE1Mjg5NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  2. Balanced Binary Tree(Java代码没有结束,是什么原因???)

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  3. UC浏览器插件开发

    pip install UC浏览器插件是个什么玩意? 如图所看到的,便是UC的插件面板. UC通过开放浏览器插件api, 使开发人员可以进行插件的开发. 插件种类: 1 : extension. 就是 ...

  4. JMS样本

    1.JMS它是一个制作AS提供Message服务.它接受由生成的消息(Message Provider)消息发出,并转发消息到消息消费者(Message  Consumer).2.JMS提供2的消息服 ...

  5. 平均得分 【杭州电-HDOJ-2023】 附加题+详细说明

    /* 平均得分 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  6. c#之Async、Await剖析

    c#之Async.Await剖析 探索c#之Async.Await剖析 2015-06-15 08:35 by 蘑菇先生, 1429 阅读, 5 评论, 收藏, 编辑 阅读目录: 基本介绍 基本原理剖 ...

  7. 浅谈 js 正则字面量 与 new RegExp 执行效率

    原文:浅谈 js 正则字面量 与 new RegExp 执行效率 前几天谈了正则匹配 js 字符串的问题:<js 正则学习小记之匹配字符串> 和 <js 正则学习小记之匹配字符串优化 ...

  8. 文《左右c++与java中国的垃圾问题的分析与解决》一bug分析

    文<左右c++与java中国的垃圾问题的分析与解决>一bug分析 DionysosLai(906391500@qq.com) 2014/10/21 在前几篇一博客<关于c++与jav ...

  9. git_自动同步_sync.sh

    1: 使用方法  sh sync.sh  code_dir 代码 #add echo $1 cd $1 git add . git commit -m "Added notes for $( ...

  10. XML的序列化和反序列化 详细介绍

    为什么要做序列化和反序列化? 一个回答: 我们都知道对象是不能在网络中直接传输的,不过还有补救的办法.XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储 ...