PLSQL导入/导出数据方法

PLSQL导入/导出数据方法

  

PLSQL导入/导出数据方法

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

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

先写一个正确的方法:

导出步骤:

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

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

导入步骤:

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

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平台下的数据库服务器,第一步操作也是差不多的,就是指定表空间的路径名稍微不同,其他操作并无差异。




  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在PL/SQL中,可以使用一些工具和语句来导入导出数据。 1. 使用Oracle Data Pump实用工具进行导入导出数据:通过使用Data Pump实用工具,可以将数据导出到一个文件中,然后将该文件导入到另一个数据库中。可以使用以下命令导出数据: ``` expdp 用户名/密码@数据库 实例名 DIRECTORY=导出目录 DUMPFILE=导出文件名.dmp ``` 然后可以使用以下命令将数据导入到另一个数据库中: ``` impdp 用户名/密码@数据库 实例名 DIRECTORY=导入目录 DUMPFILE=导出文件名.dmp ``` 2. 使用SQL Developer进行导入导出数据SQL Developer是Oracle官方提供的一个图形化界面工具,可以方便地导入导出数据。在SQL Developer中,可以使用导入导出向导来执行这些操作。可以通过以下步骤导出数据: - 在导航栏中选择"导出数据",然后选择要导出的表或查询。 - 选择导出选项,如目标文件类型、导出结果文件的位置等。 - 运行导出操作。 将数据导入到另一个数据库中,可以使用相似的步骤,选择"导入数据"并选择要导入的文件。 3. 使用PL/SQL语句进行导入导出数据:在PL/SQL中,可以使用INSERT和SELECT语句来导出导入数据。使用SELECT语句来选择要导出数据,并将其插入到一个表中。例如: ```sql INSERT INTO 导出表 SELECT * FROM 数据源表; ``` 这将选择数据源表中的所有行,并将其插入到导出表中。类似地,可以使用INSERT和SELECT语句将数据从一个表导入到另一个表中。 总结起来,PL/SQL可以使用Oracle Data Pump实用工具、SQL Developer和PL/SQL语句来导入导出数据。具体的方法取决于具体的需求和环境。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值