将表从数据库导出到 csv 文件

Export table from database to csv file(将表从数据库导出到 csv 文件)
本文介绍了将表从数据库导出到 csv 文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想:将表从 sql server 数据库导出到逗号分隔的 csv 文件,而不使用 sql server 导入导出向导

I want to: Export table from sql server database to a comma delimited csv file without using sql Server import export wizard

我想使用查询来做,因为我想在自动化中使用查询

I want to do it using a query because I want to use the query in automation

有可能吗?我搜索了这个,但没有找到好的答案

Is it possible? I searched for that and didn't find a good answer

推荐答案

一些想法:

 1. Run a SELECT statement to filter your data
 2. Click on the top-left corner to select all rows
 3. Right-click to copy all the selected
 4. Paste the copied content on Microsoft Excel
 5. Save as CSV

使用 SQLCMD(命令提示符)

示例:

从命令提示符,您可以运行查询并将其导出到文件:

From the command prompt, you can run the query and export it to a file:

sqlcmd -S . -d DatabaseName -E -s, -W -Q "SELECT * FROM TableName" > C:Test.csv

不要引用分隔符,只使用 -s,而不是引用 -s',' 除非你想将引用设置为分隔符.

Do not quote separator use just -s, and not quotes -s',' unless you want to set quote as separator.

更多信息在这里:ExcelSQLServer

注意事项:

  • 这种方法将在文件底部包含受影响的行"信息,但您可以通过在查询本身中使用SET NOCOUNT ON"来摆脱这一点.

  • This approach will have the "Rows affected" information in the bottom of the file, but you can get rid of this by using the "SET NOCOUNT ON" in the query itself.

您可以运行存储过程而不是实际查询(例如EXEC Database.dbo.StoredProcedure")

You may run a stored procedure instead of the actual query (e.g. "EXEC Database.dbo.StoredProcedure")

示例:

bcp "SELECT * FROM Database.dbo.Table" queryout C:Test.csv -c -t',' -T -S .SQLEXPRESS

将逗号分隔符引用为 -t',' 而非 -t, 很重要

It is important to quote the comma separator as -t',' vs just -t,

此处的更多信息:bcp 实用程序

注意事项:

  • 在使用 SQLCMD 时,您可以运行存储过程而不是实际查询
  • 您可以使用任何编程语言或批处理文件来自动执行此操作

希望这会有所帮助.

这篇关于将表从数据库导出到 csv 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
SSIS: Model design issue causing duplications - can two fact tables be connected?(SSIS:模型设计问题导致重复-两个事实表可以连接吗?)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)
SQL Server Graph Database - shortest path using multiple edge types(SQL Server图形数据库-使用多种边类型的最短路径)
Invalid column name when using EF Core filtered includes(使用EF核心过滤包括时无效的列名)
How should make faster SQL Server filtering procedure with many parameters(如何让多参数的SQL Server过滤程序更快)