返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 2456|回复: 0

[转载] 【转载】Linux环境下达梦数据库如何导出指定sql查询的数据

[复制链接]
发表于 2023-12-19 20:25:56 | 显示全部楼层 |阅读模式
Linux环境下达梦数据库如何导出指定sql查询的数据


先说需求:我在linux上部署的达梦数据库。现在需要查询一些数据并分列导出到excel文件内。

这个如果是在windows管理工具上面非常方便,sql查询复制到excel或者直接导出excel就能做到。但是在linux上怎么做呢?

解决方法:使用 spool命令。

spool命令是在达梦数据库中用来将SQL执行结果输出到文件中的命令。可以使用spool命令设置输出文件的路径和文件名,以及输出格式等。在执行spool命令后,达梦数据库会将SQL执行结果输出到指定的文件中,方便用户进行后续处理和分析。

下面简单演示一下。

先登录数据库




使用spool命令指定要输出的文件 spool /usr/local/out.csv



需要注意的是,spool并不会自动去创建不存在的目录和文件,所以需要确保后面跟上的路径和文件是在当前服务器真实存在的。(简单的说就是先去创建一个空的文件)




spool命令指定之后我们就正常输入你的sql查询语句执行。
比如 SELECT  列1,列2 FROM 模式名.表名
sql语句执行之后需要执行 spool off;    命令,将sql查询结果写入到你指定的文件内。




好,现在数据已经写入。我们把在服务器上创建的csv文件下载到本地打开



可以看到,数据已经写入,接下来我们需要根据需求把数据内容分列。
这里推荐一个方式,查询sql的时候指定自己的分隔符号,比如(^)。
我这边演示下 使用 SELECT  列1||'^'||列2 FROM 模式名.表名  查询





打开csv文件,并指定分列。先将不需要的数据删除,只留需要分列的数据



选择上方数据选择卡,选中需要分列的A列。点击选项卡下发的分列选择按钮



选择分列之后,选择分割符号,下一步



选择其他,将我们定义的分隔符 ^ 输入



点击完成,即可将数据分列



至此,需求实现。
此文仅供参考。更多达梦数据库相关命令可以搜索官方文档进行阅读。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表