哈喽,前几久,和大家分享过如何把文本数据快速导入数据库(点击即可打开),今天再和大家分享一个小技能,将Oracle数据库中的数据按照指定分割符、指定字段导出至文本文件。

首先来张图,看看导出的数据是什么样子。

用到的就是Oracle的spool命令,可以将数据库数据导出一个文本文件,而且也可以指定数据分隔符,其中!^是数据之间的分隔符。

首先和大家分享一下,我的这个脚本是怎么写的,其中写select时,需要导出那些字段,直接写在select里面就可以了,此外,我也是在select里面指定了分割符!^。虽然可以用参数来指定分隔符,但用起来并不友好,结束时,我会演示的。

set echo offset heading offset feedback offset termout onset trimspool offspool /home/oracle/Desktop/studentinfoSpool.dat --指定导出数据保存的文本文件select stuid||'!^'||stuname||'!^'||sex||'!^'||age from studentinfo; spool offexit

一个不超过10行的SQL脚本,设置四五个参数,一个select语句,就可以搞定导数这个问题,是不是,很简单。

接下来对几个常用的参数进行解释一下。

参数 作用
set echo off 显示start启动脚本中的每个sql命令,默认为on。比如select语句
set pagesize 0 设置每页的行数,默认为24,设置为0时为不用分页,一般需要分页
set termout off 在电脑屏幕显示脚本中的命令执行结果,默认为on。
set feedback off 显示本次sql命令处理的记录数,默认为on。
set heading off 输出域标题,默认为on
set trimspool off 去字段空格
set linesize 50 每行允许的最大字符数,设置大些,如果太小,数据库会报错或者数据自动换行,但如果设置过大,文件也会变大
set colsep ‘!^’; 用来设置分割符,但不建议使用是参数,建议   手动写分割符

执行sql脚本

sqlplus c##orcl/1234 @/home/oracle/Desktop/studentinfoSpool.sql

说明:c##orcl是用户名,1234是密码,@后面是我们写的sql脚本,里面就是刚刚演示的SQL脚本。因为是本地数据库,所以没有写地址和端口等。

spool命令就是这么简单,但也有几个需要注意的地方。

注意事项:

1、不建议使用colsep 设置分割符。

可以把手动设置分隔符和使用colsep设置的结果对比一下。

可以看到,使用colsep 设置分隔符的数据中间会出现很多空格,而手动设置的分隔符就很好。此外,如果最后一个字段后面也需要分割符,colsep 参数就无能为力。

2、合理设置linesize

linesize 设置如果不当,会出现很多问题,如果太小,数据库可能会错,数据自动换行。太大的话,数据文件也会更大。

有没有get到这个小技巧?get到的话一定要点一个“再看”!!!

☞ 推荐阅读 

1、文本数据可以这样导入数据库

2、凯利公式助你获得更多收益

3、苹果最近的股价有点......

4、crontab定时任务了解一下

5、此av非彼"AV"

“跟着菜鸟一起学R语言”转身变成“数据志”,不知道的也点一个“再看”呗!

Oracle大规模数据快速导出文本文件相关推荐

  1. oracle怎么设置sql每隔一段时间执行一次_Oracle大规模数据快速导出文本文件

    哈喽,前几久,和大家分享过如何把文本数据快速导入数据库(点击即可打开),今天再和大家分享一个小技能,将Oracle数据库中的数据按照指定分割符.指定字段导出至文本文件. 首先来张图,看看导出的数据是什 ...

  2. 大量数据快速导出的解决方案-Kettle

    大量数据快速导出的解决方案-Kettle 参考文章: (1)大量数据快速导出的解决方案-Kettle (2)https://www.cnblogs.com/itechpark/p/yinzei_ket ...

  3. oracle数据库数据导入导出步骤(入门)

    oracle数据库数据导入导出步骤(入门) 说明:  1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL  2.如果熟悉命令,建议用exp/i ...

  4. cmd imp导入dmp文件_这是一篇长篇入门级数据库讲解:oracle数据库数据导入导出步骤...

    正如标题一样,本文内容主要介绍了浅谈入门级oracle数据库数据导入导出步骤,文章通过步骤解析介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!!! ...

  5. oracle临时表经常被锁_这是一篇长篇入门级数据库讲解:oracle数据库数据导入导出步骤

    正如标题一样,本文内容主要介绍了浅谈入门级oracle数据库数据导入导出步骤,文章通过步骤解析介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!!! ...

  6. oracle数据库数据导入导出步骤

    oracle数据库数据导入导出步骤(基础) 前言: Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先 ...

  7. 【SAP Abap】SAP系统数据快速导出

    SAP系统数据快速导出 在SAP系统运维过程中,各业务部门经常会提,导出系统各样逻辑的数据的临时需求. 一般的处理方式为,通过SE16N分别导出相关的表到Excel,然后进行VLOOKUP匹配,或者是 ...

  8. ORACLE之数据泵导出

    ORACLE之数据泵导出 导出数据泵(expdp):执行导出时,expdp先创建MT表,并将对象的信息插入MT表,开始执行实际的导出任务,当所有的对象都导出以后,将MT表也一起导出到转储文件中,等到导 ...

  9. oracle数据泵导出 不全,Oracle RAC数据泵导出问题处理

    1. 设置导出文件路径 sqlplus / as sysdba SQL> alter session set container=spdb1pdb; SQL> create directo ...

最新文章

  1. testlink mysql配置_Testlink安装后配置修改
  2. Scala入门到精通——第十四节 Case Class与模式匹配(一)
  3. delphi 算术溢出解决方法_性能优化系列:JVM 内存划分总结与内存溢出异常详解分析...
  4. 10.31T4 HAOI2010最长公共子序列 计数+容斥原理
  5. 分区分表实验用的语句
  6. python可视窗口_Python数据可视
  7. DevExpress v18.1新版亮点——ASP.NET Bootstrap篇(二)
  8. Jquery操作DOM节点
  9. 华三交换机配置access命令_H3C交换机配置基本命令详解
  10. AndroidStudio Screen Capture 按钮点击提示:Unexpected error while obtain screenshot from device:EOF
  11. Elasticsearch开发进阶指南——如何选择合适的ES版本
  12. 网站被攻击怎么办如何解决
  13. Arduino and the SPI bus
  14. 解决Win10图片打开方式没有“Windows照片查看器”问题
  15. 期货板幅什么意思(期货涨停板什么意思)
  16. 性能工具之Jmeter脚本python启动
  17. BFS最强—如龙题解
  18. 发散性测试用例设计题
  19. thingsboard使用教程
  20. 林云挂余量机器人使用教程

热门文章

  1. 二极管7种应用电路详解之二
  2. pytorch nlp 语音识别任务如何进行数据加载
  3. 超级的全中文语音数据集合
  4. CNN+CTC语音识别
  5. python实现直播服务非rtmp版本(非常简单)
  6. 在一个gradle 的maven property 里添加多个URL
  7. python模块学习(四)
  8. Oracle日常巡检
  9. VMware Fusion指定虚拟机IP
  10. 【转】测试LibreOffice SDK 开发环境配置(Windows)