Oracle SQLPlus导出数据到csv文件的方法

所属分类: 数据库 / oracle 阅读数: 1209
收藏 0 赞 0 分享

时不时地我们需要导出一些数据用作备份、查看报表等,如果用Sql Developer导出会非常慢。而用SqlPlus,则速度非常快。

准备SQL执行文件export.sql

set colsep ,
set feedback off
set heading off
set newp none
set pagesize 0
set linesize 200
set trimout on

spool /data/export.csv

select t.name||','||t.age||','||t.salary||','||t.email||','||t.title
from employee t
where t.age < 50
order by t.salary desc; 

spool off 
exit

说明:

set colsep  , #分割符
set feedback off #回显本次sql命令处理记录条数
set heading off # 输出标题
set newp none #设置查询出来的数据分多少页显示,如果需要连续的数据,中间不要出现空行就把newp设置为none
set pagesize 0 # 输出每页行数,为了避免分页设置为0
set linesize 200 # 每行大小,如果设置太小,会分行,最好是超好输出最大值
set trimout on # 去除标准输出每行的拖尾空格
set termout off #显示脚本中的命令的执行结果
set echo on #设置运行命令是否显示语句
set numwidth 12 # 输出number类型域长度

执行:

sqlplus user/pass@db @export.sql

可以通过SQL指定文件名:

col datestr new_value filename
select '/data/export.'||to_char(sysdate,'yyyymmdd')||'.csv' datestr from dual;
spool &filename

ps:下面看一个例子通过sqlplus导出数据到csv
例子

[oracle@localhost ~]$ cat data.sql
set echo off
set feedback off
set linesize 100
set pagesize 0
set sqlprompt ''
set trimspool on
spool data.csv
select id || ',' || val from testtab;
spool off
exit
[oracle@localhost ~]$
更多精彩内容其他人还在看

oracle快速删除重复的记录

oracle快速删除重复的记录
收藏 0 赞 0 分享

Oracle数据库系统紧急故障处理方法

Oracle数据库系统紧急故障处理方法
收藏 0 赞 0 分享

Oracle SQL性能优化系列学习一

Oracle SQL性能优化系列学习一
收藏 0 赞 0 分享

自动备份Oracle数据库

自动备份Oracle数据库
收藏 0 赞 0 分享

Oracle Index 的三个问题

Oracle Index 的三个问题
收藏 0 赞 0 分享

Oracle 数据库操作技巧集

Oracle 数据库操作技巧集
收藏 0 赞 0 分享

Oracle组件实现动态Web数据库

Oracle组件实现动态Web数据库
收藏 0 赞 0 分享

ORACLE常见错误代码的分析与解决二

ORACLE常见错误代码的分析与解决二
收藏 0 赞 0 分享

ORACLE常见错误代码的分析与解决三

ORACLE常见错误代码的分析与解决三
收藏 0 赞 0 分享

在Oracle 8x实现自动断开后再连接

在Oracle 8x实现自动断开后再连接
收藏 0 赞 0 分享
查看更多