SQL Server将表结果输出到文件(Excel/csv)中保存

目录

    • 1. 手动方法
    • 2. 使用SQL CMD脚本
      • 使用SQL CMD脚本会出现的问题
    • 3.使用SQL server导入导出向导
    • 4.Excel直接连接数据库
    • 其他编程语言连接
    • 使用Mysql将结果导出文件

1. 手动方法

  1. 在SSMS中,查询出结果后,右键点击"copy/copy with headers"可以复制结果,打开空白csv/Excel后粘贴即可。但是这种方法在某些情况下会出现数据错位
    SQL Server将表结果输出到文件(Excel/csv)中保存_第1张图片
  2. 在SSMS中,查询出结果后,右键点击"save result as"(结果另存为)并保存即可,如上图。

2. 使用SQL CMD脚本

在SSMS中点击"Query"菜单"SQLCMD mode",这样可以进入SQL Server的命令行模式

新建查询:

:OUT c:\testresult.csv   --文件位置
SELECT * FROM sys.objects --查询语句

执行代码后即可在对应的位置找到输出的结果文件。

使用SQL CMD脚本会出现的问题

  1. 在结果文件中会出现XXXXX rows affected这种信息的后缀。如需去除可在代码中添加:SET NOCOUNT ON
:OUT c:\testresult.csv 
SET NOCOUNT ON;SELECT * FROM sys.objects
  1. csv文件打开格式很乱,或者想更改输出文件的分隔符号
    “Tools”-“options”-“Query results”-“SQl Server”-“Result to Text”,将output format 设置为Custom delimiter,并设定自定义的分隔符为","
    注意设置后需要在新建查询中才会生效

3.使用SQL server导入导出向导

  1. 打开数据库,选择需要导出的数据库名,右键选择"任务"–“导出数据”,点击下一步SQL Server将表结果输出到文件(Excel/csv)中保存_第2张图片

  2. 进入“选择数据源”窗口。“数据源”选择sql server native client 10.0,然后选择服务器和数据库,点击下一步SQL Server将表结果输出到文件(Excel/csv)中保存_第3张图片

  3. 进入“选择目标”窗口,”“目标”选择 Microsoft Excel ,然后选择保存路径和保存版本,点击下一步。 SQL Server将表结果输出到文件(Excel/csv)中保存_第4张图片

  4. 进入“指定表复制”窗口,在“复制一个或者多个表或视图的数据”前勾选,点击下一步。SQL Server将表结果输出到文件(Excel/csv)中保存_第5张图片

  5. 进入“选择源表和源视图”窗口,在需要导出的表源前方勾选。点击下一步。SQL Server将表结果输出到文件(Excel/csv)中保存_第6张图片

  6. 进入“查看数据类型映射”窗口,默认点击下一步。SQL Server将表结果输出到文件(Excel/csv)中保存_第7张图片

  7. 点击运行和完成。查看数据已导出至excel表格SQL Server将表结果输出到文件(Excel/csv)中保存_第8张图片

4.Excel直接连接数据库

  1. 选择【数据】选项卡,在【获取外部数据】分组,找到【自其他来源】。选择【来自sql server】SQL Server将表结果输出到文件(Excel/csv)中保存_第9张图片

  2. 填写服务器名称、登录的用户名及密码并点击下一步。如果有管理员账号密码的话可以填写对应的name和Password,或者直接使用Window账号。SQL Server将表结果输出到文件(Excel/csv)中保存_第10张图片

  3. 选择需要链接的数据库、数据表等信息,最后点击完成即可成功连接。SQL Server将表结果输出到文件(Excel/csv)中保存_第11张图片

  4. 之后Excel会询问将导入的数据放置于何处。选择一个合适的单元格之后,点击OK即可看到对应的数据已呈现在Excel中
    SQL Server将表结果输出到文件(Excel/csv)中保存_第12张图片

其他编程语言连接

基本所有编程语言,例如Python,Java,C,VBA等都支持连接数据库并获取数据。但是通过这种方法连接需要对应数据库的管理员账号和密码,无法使用微软账号和密码。

使用Mysql将结果导出文件

对于Mysql可以使用如下脚本:

SELECT ... FROM ... WHERE ... --查询语句
INTO OUTFILE 'file.csv'   --输出文件位置
FIELDS TERMINATED BY ','  --自定义分隔符

此脚本语句仅适用于Mysql,SQL server无此语句

参考文章:
https://www.cnblogs.com/liangshi/archive/2012/04/02/2429683.html

我的公众号:Smilecoc的杂货铺,欢迎来康康!
SQL Server将表结果输出到文件(Excel/csv)中保存_第13张图片

你可能感兴趣的:(SQL,数据库)