导航:首页 > 数据分析 > sqloracle如何导入数据

sqloracle如何导入数据

发布时间:2023-05-15 08:49:48

1. 简述数据库导入OracleSQL*Loader指南

SQL*Loader是Oracle数据库导入外部数据的一个工具 它和DB 的Load工具相似 但有更多的选择 它支持变化的加载模式 可选的加载及多表加载

如何使用 SQL*Loader 工具

我们可以用Oracle的sqlldr工具来导入数据 例如:

sqlldr scott/tiger control=loader ctl

控制文件(loader ctl) 将加载一个外部数据文件(含分隔符)loader ctl如下:

load data infile c:datamydata csv into table emp fields terminated by optionally enclosed by ( empno empname sal deptno )

mydata csv 如下:

Scott Tiger Frank Naude

下面是一个指定记录长度的示例控制文件 * 代表数据文件与此文件同名 即在后面使用BEGINDATA段来标识数据

load data infile * replace into table departments ( dept position ( : ) char( ) deptname position ( : ) char( ) ) begindata COSC PUTER SCIENCE ENGL ENGLISH LITERATURE MATH MATHEMATICS POLY POLITICAL SCIENCE

Unloader这样的工具

Oracle 没有提供将数据导出到一个文件的工具 但是 我们可以用SQL*Plus的select 及 format 数据来输出到一个文件

set echo off newpage space pagesize feed off head off trimspool on spool oradata txt select col || || col || || col from tab where col = XYZ ; spool off

另外 也历孝可以使用使用 UTL_FILE PL/SQL 包处困虚理:

rem Remember to update initSID ora utl_file_dir= c:oradata parameter declare fp utl_file file_type; begin fp := utl_file fopen( c:oradata tab txt w ); utl_file putf(fp %s %s TextField ); utl_file fclose(fp); end; /

当然你也可以使用第三方工具 如SQLWays TOAD for Quest等

加载可变长度或指定长度的记录

LOAD DATA INFILE * INTO TABLE load_delimited_data FIELDS TERMINATED BY OPTIONALLY ENCLOSED BY TRAILING NULLCOLS ( data data ) BEGINDATA AAAAAAAAAA A B C D 下面是导入固定位置(固定长度)数据示例 LOAD DATA INFILE * INTO TABLE load_positional_data ( data POSITION( : ) data POSITION( : ) ) BEGINDATA AAAAAAAAAA BBBBBBBBBB

跳过汪烂燃数据行 可以用 SKIP n 关键字来指定导入时可以跳过多少行数据 如

LOAD DATA INFILE * INTO TABLE load_positional_data SKIP ( data POSITION( : ) data POSITION( : ) ) BEGINDATA AAAAAAAAAA BBBBBBBBBB

导入数据时修改数据

在导入数据到数据库时 可以修改数据 注意 这仅适合于常规导入 并不适合 direct导入方式 如

LOAD DATA INFILE * INTO TABLE modified_data ( rec_no my_db_sequence nextval region CONSTANT time_loaded to_char(SYSDATE HH :MI ) data POSITION( : ) :data / data POSITION( : ) upper(:data ) data POSITION( : ) to_date(:data YYMMDD ) ) BEGINDATA AAAAAAAAAA BBBBBBBBBB LOAD DATA INFILE mail_orders txt BADFILE bad_orders txt APPEND INTO TABLE mailing_list FIELDS TERMINATED BY ( addr city state zipcode mailing_addr decode(:mailing_addr null :addr :mailing_addr) mailing_city decode(:mailing_city null :city :mailing_city) mailing_state )

将数据导入多个表

如:

LOAD DATA INFILE * REPLACE INTO TABLE emp WHEN empno != ( empno POSITION( : ) INTEGER EXTERNAL ename POSITION( : ) CHAR deptno POSITION( : ) CHAR mgr POSITION( : ) INTEGER EXTERNAL ) INTO TABLE proj WHEN projno != ( projno POSITION( : ) INTEGER EXTERNAL empno POSITION( : ) INTEGER EXTERNAL )

导入选定的记录

如下例 ( ) 代表第一个字符 ( : ) 代表 到 之间的字符:

LOAD DATA INFILE mydata dat BADFILE mydata bad DISCARDFILE mydata dis APPEND INTO TABLE my_selective_table WHEN ( ) <>; H and ( ) <>; T and ( : ) = ( region CONSTANT service_key POSITION( : ) INTEGER EXTERNAL call_b_no POSITION( : ) CHAR )

导入时跳过某些字段

可用 POSTION(x:y) 来分隔数据在Oracle i中可以通过指定FILLER字段实现 FILLER 字段用来跳过 忽略导入数据文件中的字段 如

LOAD DATA TRUNCATE INTO TABLE T FIELDS TERMINATED BY ( field field FILLER field )

导入多行记录

可以使用下面两个选项之一来实现将多行数据导入为一个记录:

CONCATENATE: use when SQL*Loader should bine the same number of physical records together to form one logical record CONTINUEIF use if a condition indicates that multiple records should be treated as oneEgby having a # character in column

SQL*Loader 数据的提交

一般情况下是在导入数据文件数据后提交的 也可以通过指定 ROWS= 参数来指定每次提交记录数

提高 SQL*Loader的性能

( ) 一个简单而容易忽略的问题是 没有对导入的表使用任何索引和/或约束(主键) 如果这样做 甚至在使用ROWS=参数时 会很明显降低数据库导入性能

( ) 可以添加 DIRECT=TRUE来提高导入数据的性能 当然 在很多情况下 不能使用此参数

( ) 通过指定UNRECOVERABLE选项 可以关闭数据库的日志 这个选项只能和 direct 一起使用

( ) 可以同时运行多个导入任务

常规导入与direct导入方式的区别

lishixin/Article/program/Oracle/201311/18244

2. sql文件怎么导入到Oracle数据库


在sqlplus运行后。
先连接上数据库

然后使用

@sql文件名.sql

(注:该sql文件,需要在当前目录下)
如果需要在cmd的批处理的方式下,运行外部SQL文件的话。
可以通过加命令行参数的方式来实现。


test.sql文件内容如下:


createtabletest_sqlplus(
id int,
val varchar(10)
);
INSERTINTOtest_sqlplusVALUES(1,'A');
INSERTINTOtest_sqlplusVALUES(2,'B');
COMMIT;
EXITE:Temp>sqlplustest/test@[email protected]
SQL*Plus:Release9.2.0.1.0-Proctionon星期五4月2612:37:122013
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
连接到:
.2.0.1.0-Proction
表已创建。
已创建1行。
已创建1行。
提交完成。
从.2.0.1.0-Proction中断开
E:Temp>

3. 怎么使用plsql中的oracle导入方法导入数据数据

一般导入方法是把备份的dmp文件通过plsql导入到数据库中。方法如下:
1、登录要导入的用户到plsql(一般为新用户谨正,且有dba等权限),如果没有权限,在system用户下执行下边语句:
grant connect,resource,dba to 用户名;

2、登陆后,依次点击“工具”-“导入表”

3、上方选择“oracle导入”,下方根据自己条件勾选必要哗晌肆的选项,然后点击文件夹样式的图标,选择自己的dmp文件,选择好文件以后,点击“导入”按钮,等待执行完毕即可乱轿。

4. sql oracle怎么导入数据

在我们使用SQL Server数据库的过程中,有时需要将SQL Server数据导出,导入到其他的数据库中,比如导入到Oracle中。

假设要将SQL Server中的Northwind数据库中的Procts表导出到Oracle的Scott用户

团山旅首先需要有安装SQL Server企业版

1.打开工具:

开始->程序->

导入和SQL Server数据导出数据

2.下一步,选择数据源

[数据源]选择“用于SQL Server的Microsoft OLE DB提供程序”,这应该是缺省值。

[服务器]选择要导出数据的服务器唯谨,如果是本机,选择(local)

[数据库]选择要导出的数据所在的库,这里选择Northwind

3.下一步,选择目的

[目的]选择Microsoft ODBC for Oracle

[DSN]选择用户/系统DSN一项,然后在下拉列表框中找一个已经连接到了Scott用户的DSN名称。

如果下拉列表中没有,点下拉列表框右侧的[新建],出现创建新数据源界面。

接下来选择系统数据源,下一步,在驱动程序列表中选择Microsoft ODBC for Oracle

下一步,完成,出现Microsoft ODBC for Oracle安装界面

[数据源名称]随便输入,比如sss

[说明]可以不填

[用户名称]填入要SQL Server数据导出到的Oracle用户名称,这里是scott

[服务器]填入要连接到Oracle服务器所使用的服务名,比方说使用sqlplus scott/tiger@server1可以连接到数据库,那么这里就填入server1。如果本机就是服务器,使用sqlplus scott/tiger即可连接到数据库,这里空着不填即可。

这样就创建好了一个数据源sss,保证下拉列表框中选择了sss一项。

[用户名]填入SQL Server数据导出到的Oracle用户名称,这里是scott

[密码]填入SQL Server数据导出到的Oracle用户使用的密码,这里是tiger

4.下一步,指定表复制或查询

如果要导出的内容是整个表,选择[从源数据库复制表和视图]

如果要导出的内容是表的一部分列,行,可以选择[用一条查询指定要传输的数据],这时需要写出一个查询语句

这里选择第一项[从源数据库复制表和视图]

5.下一步,选择源表和视图

点中要导出的表Procts一行的复选框,目的、转换两栏就会出现内容。

目的可以用来选择表名。转换可以用来修改列的数据类型或是整个建表的SQL语句

6.下一步,保存、调度和复制包

选中立即运行

7.下一步,正在完成DTS导入/导出向导

8.完成

提示“成功地将n个表从Microsoft SQLServer复制到了Oracle”

9.完成,关闭导入导出程序

注意:因为oracle的表名都是大写的,而SQL的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Procts表在oracle里查询就应该写成select * from scott."Procts";为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。

---导完数据后执行下面语句,生成把表名修改成大写的操作

select 'ALTER TABLE '||'"'||table_name||'"'||' RENAME TO '|| upper(table_name)||';' from user_tab_comments;

把生成的文件执行即可把此用户塌凳下的所有表名修改成大写。

5. oracle怎样导入数据库

方法一:利用PL/SQL Developer工具导出:
菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可:
方法二:利用cmd的操作命令导出,详情如下:
1:G:\Oracle\proct\10.1.0\Client_1\NETWORK\ADMIN目录下有个tnsname.ora文件,内容如下:
复制代码 代码如下:
CMSTAR =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.13.200)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cmstar)
)
)
其中:CMSTAR为数据库名,HOST为IP地址,所以可以仿效上面的例子手动添加数据录连接。
2:用cmd进入命令行
输入:tnsping cmstar
就是测试172.18.13.200是否连接成功
3:导入与导出,如下:
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\chu.dmp中
exp system/manager@TEST file=d:\chu.dmp full=y
2将数据库中system用户与sys用户的表导出
expsystem/manager@TESTfile=d:\chu.dmpowner=(system,sys)
3将数据库中的表table1、table2导出
expsystem/manager@TESTfile=d:\chu.dmptables=(table1,table2)
4将数据库中的表table1中的字段filed1以"00"打头的数据导出
expsystem/manager@TESTfile=d:\chu.dmptables=(table1)query=\"wherefiled1like'00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面加上compress=y就可以了
数据的导入
1将D:\chu.dmp中的数据导入TEST数据库中。
impsystem/manager@TESTfile=d:\chu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y就可以了。
2将d:\chu.dmp中的表table1导入
impsystem/manager@TESTfile=d:\chu.dmptables=(table1)
注意事项:导出dmp数据时需要有导出表的权限的用户,否则不能导出。
PL/SQL Developer是Oracle数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对导入或导出时的一些注意事项进行了说明,接下来我们就一一介绍。
导出步骤:
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自己导入导出,不能用编辑器查看。

6. 如何用plsql从oracle中导入导出数据

用pl/sql developer导出表的数据时有三种方式:Oracle Export,Sql Insert,pl/sqldeveloper

只有“Oracle Export”方式导出再导入后,表结构和索引结构没有发生变化,另两种方式都改变了索引掘卖类型。另外判握逗

Sql Insert的那个可以导成sql,可以用文本编辑器打开。

pl/sql developer 也可以导出,但文本编辑器不能打开。

区别:

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/sqldeveloper format instead),可以用第一种和第三种方式导出。

第三种皮羡是导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出;不能用编辑器查看,

导出数据到excel文件:

选中数据表--query data--选中要导出的数据--右键 to excel

excel数据导入到数据库:

1.在Excel中准备好要导入的数据。具体操作:在Excel中,把第一列设置为空列,第二列以后的列应与要导入的数据表的字段相对应。

2.登录PLSQL Developer,找到需要导入数据的数据库表后,点击右键--edit data,进入了编辑此表的数据对话框,并点击最左侧选中一空行。

3. Excel表中的数据记录,将数据粘贴到上步中PLSQL Developer显示的表列中。

4.点击PLSQL Developer中的对号按钮进行Post。

7. oracle怎么导入sql文件

8. 如何将SQL数据导入ORACLE数据库中

然后 , 打开PL/SQL 上方Tools——Text Importer——open datafile(左上角)——选择你的CSV表,打开 记得,勾选左侧Name In Header,选择到Data To Oracle,在这里选择你要导入到ORACLE里的表和这张表的OWNER,在右侧选择相应字段,如果对应的上,下面的Import就会亮,好了,每一列挨个点。 注意点:字段类型别搞错了。 增长值必须改为序列,时间类型,必须设定默认值,字符中设为‘’,因为从SQL中出来的CSV文件,空值都为NULL,相对应在ORACLE会存为NULL,而字符类型的 NULL,页面读取时会显帆判宽示NULL。 所谓冲仿“CSV”,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。下面是一个实际CSV文件中的部分内容,让大家对他有一个感性的认识。我们选的是Sjojo_Rescan 的CSV文件(Sjojo是ASW-亚洲扫图风的成员之一)。 sj_mino1001.jpg,715282,4FB55FE8, sj_mino1002.jpg,471289,93203C5C, sj_mino1003.jpg,451929,C4E80467, 通常CSV文件开头是不留空的,以行为单位,每行中记录态亮一张图片的了多项数据,每项数据用逗号 来分隔(标准英文逗号)。一般说来集图用的.CSV文件的格式是这样的:

9. oracle sqldeveloper 如何从数据库导入/导出数据

PLSQL中还有一个导入表的功能;选择第二个页签:SQL插入;在下面的导入文件建议使用POWERDESIGNER之类的带有数据库逆向工程的数据库设计软件来做这样的事

阅读全文

与sqloracle如何导入数据相关的资料

热点内容
如何设置苹果5手机锁屏密码忘了怎么办 浏览:656
视频下载目录文件管理怎么找 浏览:405
局域网内共享文件夹 浏览:389
java接口能实现接口吗 浏览:460
怎么把文件拖拽到ps里 浏览:245
绘画编程是学的什么 浏览:919
小蚁微单m1升级版 浏览:646
有什么app会被人收购 浏览:709
经济开发区数据标定员考试考什么 浏览:145
类似于vb编程的有哪些语言 浏览:684
数据验证对话框中选项有哪些 浏览:218
word文件半隐半现 浏览:971
xml文件如何解析 浏览:391
pcapng格式的文件用什么打开 浏览:530
百度网盘的文件怎么传入u盘 浏览:781
梨子linux 浏览:30
office2013找不到文件 浏览:877
msp430独立按键程序 浏览:592
如何固定表格数据的位数 浏览:544
编程猫项目分析的思路有哪些 浏览:927

友情链接