将 3000 万行导出为 CSV

GWR*_*GWR 5 oracle oracle-sql-developer

我有一个查询在 Oracle 数据库 (11g) 中命中多个表。我无权访问服务器本身。我使用 SQL Developer 或 SQL*Plus 进行连接。

大约有 3100 万行和 7 列,我想将其转储到 CSV 文件中。

我怎样才能做到这一点?

ik_*_*elf 8

假设这是将数据传输到其他系统。在这种情况下,这将起作用:

set colsep ";"
set linesize 9999
set trimspool on
set heading off
set pagesize 0
set wrap off
set feedback off
set newpage 0
set arraysize 5000
spool you csv_file.csv
select rows from your tables;
spool off
Run Code Online (Sandbox Code Playgroud)

如果您不想要标题行,请更改为标题行

如果这是分析excel中的数据,请醒醒学习sql。SQL,尤其是 Oracle,有许多很棒的工具来帮助分析您的数据。当数据传输到 csv 文件时,Oracle 分析已经完成了一些很好的分析。数据仓库和商业智能,但对于许多任务,简单的 SQL 就足够了。开始阅读有关 Oracle 分析的信息。

  • 我不喜欢这些缩写的 SQL*Plus 格式化命令——PAGESIZE 和 PAGES 听起来对我来说意味着不同的东西,尽管后者只是前者的缩写。PAGESIZE 9999 和 HEADING ON 听起来不是很好的选择。 (2认同)