重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可用sqlplus的方式
创新互联建站是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:网站设计制作、网站制作、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。
先在某文件夹下(我就直接以C盘根目录为例了)
创建main.sql文件
内容如下
set linesize 200
set term off verify off feedback off pagesize 0
set head off
set trimout on
set trimspool on
spool aaa.txt
@export.sql
spool off
exit
其中aaa.txt是你要保存的文件名,这里貌似不能导成excel,只可以保存成csv格式,然后你再自己转换吧,文本是没问题的,其中@export.sql 是另一个文件,内容如下
你要想把数据导成以逗号分隔
脚本这么写
我就简单以emp表为例了,也是用的to_char函数,只要语句写正确就OK
select empno||','||to_char(hiredate,'yyyy-mm-dd') from emp;
结尾必须用分号
把这个保存成export.sql文件
然后cmd进到你要执行的文件夹下
sqlplus 用户名/密码 @main
然后无限的等待,等到把你的文件导成
你将来要是要把文件导入到哪的话,可以用sqlloader
这个网上教程很多
哎,打字这个累呀
和linux无关,用exp命令就可以实现
导出一个表中的部分数据,使用QUERY参数,如下
导出select * from test where object_id50000这个条件中的数据
exp charsi/charsi@testdb tables=(TEST) query="'where object_id50000'" file=aaa.dmp log=aaa.log
其他参数含义:
GRANTS:指定是否导出对象的授权信息,默认参数为Y,即默认导出
INDEXES:指定是否导出表的索引,默认为Y
CONSTRAINTS:指定是否导出标的约束,默认为Y
TRIGGERS:指定是否导出与表相关的触发器,默认为Y
FILESIZE:如果生成的dump文件超过指定的,需要使用FILE参数指定多个文件
BUFFER:用来指定执行导出时,处理数据所用的缓存区大小,以字节为单位.这个参数变相用来控制导出时记录数组单次最大能加载的记录数.
RECORDLENGTH:该参数用来指定Export的I/O buffer,以字节为单位,最大不超过65535
BMP ? dmp吧,这个是Oracle的导出文件。 据我所知,应该没有办法直接从dmp文件中提取数据。 应该将dmp文件导入(恢复)到Oracle数据库中, 然后再使用普通的sql语句进行检索, 通过pl/sql dev、navicat 客户端 等等工具就可以导出成excel了
在使用oracle的时候,经常会遇到类似CLOB、NLOB、BLOB等大数据类型字段,但是当你想要导出含有该字段类型的数据时,会发现导出来该列字段的数据都显示成了CLOB类型。那么如何处理呢?
1.实际上处理CLOB字段的时候,直接TO_CHAR,当长度超过4000的时候,会报错,提示列被截取;
2.直接使用SUBSTR对CLOB字段进行截取,是不能起到任何作用的;
3.可以使用dbms_lob.substr(clobcolumn,4000),对CLOB字段进行截取;截取的长度是4000还是2000根据存储的是汉字和数据决定长度;
————————————————
版权声明:本文为CSDN博主「独家记忆0408」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接: