SQL Server 数据导入与导出
1. BCP 命令
用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件 [-m 最大错误数] [-f 格式化文件] [-e 错误文件] [-F 首行] [-L 末行] [-b 批大小] [-n 本机类型] [-c 字符类型] [-w 宽字符类型] [-N 将非文本保持为本机类型] [-V 文件格式版本] [-q 带引号的标识符] [-C 代码页说明符] [-t 字段终止符] [-r 行终止符] [-i 输入文件] [-o 输出文件] [-a 数据包大小] [-S 服务器名称] [-U 用户名] [-P 密码] [-T 可信连接] [-v 版本] [-R 允许使用区域设置] [-k 保留空值] [-E 保留标识值] [-h"加载提示"] [-x 生成xml 格式化文件]
a. 将表数据导出到文件中(使用可信连接)
bcp AdventureWorks.Sales.Currency out c:\Currency.dat -T -c
b. 将文件中的数据导入到数据库表
bcp AdventureWorks.Sales.Currency2 in c:\Currency.dat -T -c
c. 将特定的列复制到数据文件中
bcp "SELECT Name FROM AdventureWorks.Sales.Currency" queryout c:\Currency.Name.dat -T -c
d. SSMS中执行
exec master..xp_cmdshell 'bcp AdventureWorks.Sales.Currency out c:\Currency.dat -T -c'
2. OPENQUERY、 OPENROWSET 不同服务器之间的数据传输
EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB','11.11.11.111'
EXEC sp_addlinkedsrvlogin 'LinkName','false',NULL,'sa','123'
SELECT * FROM OPENQUERY(LinkName,'SELECT * FROM mydb.dbo.student')
SELECT * FROM OPENROWSET('SQLOLEDB','server=11.11.11.111;uid=sa;pwd=123',mydb.dbo.student)
3. Select Into
只创建表结构而不会插入数据
SELECT * INTO Sales.Currency2 FROM AdventureWorks.Sales.Currency WHERE 1=2;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix