如何将表格导出到文本文件?
我需要获取已存在的表的INSERT脚本(结构和数据)。
答案 0 :(得分:3)
在SQL2k中,尝试阅读有关批量复制的内容,该命令应为 bcp 我认为
来自MS帮助文件的示例有类似...... 的内容将数据从表格导出到文本文件
bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout Authors.txt -c -Sservername -Usa -Ppassword
将数据从文本文件导入表:
将数据从Newpubs.dat批量复制到publishers2的命令是:
bcp pubs..publishers2 in newpubs.dat -c -t , -r \n -Sservername -Usa -Ppassword
或者,您可以使用查询工具(如SQL查询分析器)中的BULK INSERT语句批量复制数据:
BULK INSERT pubs..publishers2 FROM 'c:\newpubs.dat'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
加特
答案 1 :(得分:3)
在SQL Server 2005 Management Studio中,您可以使用导入/导出向导(不确定您是否特别需要脚本,或者只是将结构/数据导出到文件的方法,但是这个建议可以在没有实际脚本):
在“保存并执行包”屏幕上,您可以立即选中“立即执行”,或者如果您希望将生成的“脚本”保存为SSIS包,也可以选择该选项。单击“下一步”,然后单击“完成”,以执行导出
您生成的文件将包含该表的内容。如果您需要将此数据“插入”到另一个数据库中,则可以使用向导的“导入数据”选项将数据从文本文件导入到另一个数据库/表中。
答案 2 :(得分:1)
答案 3 :(得分:0)
您可以通过从information_schema中获取列信息来以编程方式构建 INSERT 语句,其中每行数据描述一列:
SELECT table_name,
ordinal_position,
column_name,
data_type,
is_nullable,
character_maximum_length
FROM information_schema.columns
WHERE table_name LIKE '%TableName%'
ORDER BY ordinal_position
对于导出数据,BCP是工具,BOL有几个不错的例子:
bcp AdventureWorks.Sales.Currency out Currency.dat -T -c
答案 4 :(得分:-1)