导出数据在SQL Server中作为INSERT INTO
我正在使用SQL Server 2008 Management Studio并且有一个我想要迁移到其他数据库服务器的表。
有没有选项将数据导出为插入SQL脚本?
#1楼
您还可以从以下位置查看SQL Server Management Studio 2008的“Data Scripter Add-In”:
http://www.mssql-vehicle-data.com/SSMS
他们的功能列表:
它是在SSMS 2008上开发的,目前不支持2005版本(很快!)
将数据快速导出到T-SQL以获取MSSQL和MySQL语法
还支持CSV,TXT,XML! 充分利用SQL提供的全部潜力,力量和速度。
不要等待Access或Excel为您执行可能需要几分钟时间的脚本工作 - 让SQL Server为您执行此操作并完成导出数据的所有猜测工作!
自定义数据输出以进行快速备份,DDL操作等......
快速有效地更改表名称和数据库模式以满足您的需求
导出列名称或只生成没有名称的数据。
您可以选择单个列来编写脚本。
您可以选择数据子集(WHERE子句)。
您可以选择数据排序(ORDER BY子句)。
对于那些需要数据操作的低级数据库调试操作而言,它具有出色 在试验期间不要丢失数据。 即时操作数据!
#2楼
为了过度明显的无脑,在遵循marc_s的指示到这里 ...
在对象资源管理器的SSMS中,右键单击数据库,右键单击并选择“任务”,然后选择“生成脚本”。
...然后我看到一个向导屏幕,其中包含“ 简介,选择对象,设置脚本选项,摘要和保存或发布脚本 ”,底部带有上一个,下一个,完成,取消按钮。
在“ 设置脚本选项”步骤中 ,您必须单击“高级”以获取包含选项的页面。 然后,正如Ghlouw所提到的,您现在选择“脚本数据类型”并获利。
#3楼
在对象资源管理器的SSMS中,右键单击数据库,右键单击并选择“任务”,然后选择“生成脚本”。
这将允许您为单个或所有表生成脚本,其中一个选项是“脚本数据”。 如果将其设置为TRUE,则向导将为您的数据生成带有INSERT INTO()语句的脚本。
如果使用2008 R2或2012,则称为其他内容,请参阅此下面的屏幕截图
2008 R2或更高版本,例如2012
选择“脚本数据类型”,可以是“仅数据”,“架构和数据”或“仅架构” - 默认值)。
然后在Codeplex(包括源代码)上有一个“ SSMS Addin ”包,它承诺几乎相同的功能和更多(如快速查找等)
#4楼
如果您使用SQLServer 2008R2,则需要将数据类型设置为脚本字段。
#5楼
以上所有都很好,但如果你需要
- 从具有连接的多个视图和表导出数据
- 为不同的RDBMS创建插入语句
- 将数据从任何RDBMS迁移到任何RDBMS
然后以下技巧是唯一的方法。
首先学习如何从源db命令行客户端创建假脱机文件或导出结果集。 其次学习如何在目标数据库上执行sql语句。
最后,通过在源数据库上运行sql脚本,为目标数据库创建insert语句(以及任何其他语句)。 例如
SELECT '-- SET the correct schema' FROM dual;
SELECT 'USE test;' FROM dual;
SELECT '-- DROP TABLE IF EXISTS' FROM dual;
SELECT 'IF OBJECT_ID(''table3'', ''U'') IS NOT NULL DROP TABLE dbo.table3;' FROM dual;
SELECT '-- create the table' FROM dual;
SELECT 'CREATE TABLE table3 (column1 VARCHAR(10), column2 VARCHAR(10));' FROM dual;SELECT 'INSERT INTO table3 (column1, column2) VALUES (''', table1.column1, ''',''', table2.column2, ''');' FROM table1 JOIN table2 ON table2.COLUMN1 = table1.COLUMN1;
上面的示例是为Oracle的db创建的,其中无表选择需要使用dual。
结果集将包含目标db的脚本。
#6楼
下面是使用游标创建数据迁移脚本以迭代源表的示例。
SET NOCOUNT ON;
DECLARE @out nvarchar(max) = ''
DECLARE @row nvarchar(1024)
DECLARE @first int = 1DECLARE cur CURSOR FOR SELECT '(' + CONVERT(CHAR(1),[Stage]) + ',''' + [Label] + ''')'FROM CV_ORDER_STATUSORDER BY [Stage]PRINT 'SET IDENTITY_INSERT dbo.CV_ORDER_STATUS ON'
PRINT 'GO'PRINT 'INSERT INTO dbo.CV_ORDER_STATUS ([Stage],[Label]) VALUES';OPEN cur
FETCH NEXT FROM curINTO @rowWHILE @@FETCH_STATUS = 0
BEGINIF @first = 1SET @first = 0ELSESET @out = @out + ',' + CHAR(13);SET @out = @out + @rowFETCH NEXT FROM cur into @row
ENDCLOSE cur
DEALLOCATE curPRINT @outPRINT 'SET IDENTITY_INSERT dbo.CV_ORDER_STATUS OFF'
PRINT 'GO'
#7楼
对于那些寻找命令行版本的人,微软发布了mssql-scripter
来做到这一点:
$ pip install mssql-scripter# Generate DDL scripts for all database objects and DML scripts (INSERT statements)
# for all tables in the Adventureworks database and save the script files in
# the current directory
$ mssql-scripter -S localhost -d AdventureWorks -U sa --schema-and-data \-f './' --file-per-object
#8楼
搜索了很多,这是我最好的镜头:
如果您有大量数据并且需要紧凑而优雅的脚本,请尝试: SSMS Tools Pack
它生成一个union all select语句,用于将项插入目标表并很好地处理事务。
截图
#9楼
对于SQl服务器Mng Studio 2016:
#10楼
如果您正在运行SQL Server 2008 R2,则内置选项可以在SSMS中执行此操作,因为上面描述的marc_s稍有改动。 现在,在“表/视图选项”分组的正上方有一个名为"Types of data to script"
的新选项,而不是像他的图表中所示选择Script data = true
。 在这里,您可以选择仅脚本数据,仅脚本和数据或模式。 奇迹般有效。
导出数据在SQL Server中作为INSERT INTO相关推荐
- 使用T-SQL导入多个文件数据到SQL Server中一文的疑惑
- 今天,由于毕业论文需要,我想弄数据转换,所以看了一看T-SQL,oracle实在没时间去学,好在SQL我还是很熟悉,所以打算看一看,写一些存储过程来完成任务. 我无意中在csdn上找到这样一篇文章 ...
- sql数据透视_SQL Server中的数据科学:取消数据透视
sql数据透视 In this article, in the series, we'll discuss understanding and preparing data by using SQL ...
- 细说SQL Server中的加密
简介 加密是指通过使用密钥或密码对数据进行模糊处理的过程.在SQL Server中,加密并不能替代其他的安全设置,比如防止未被授权的人访问数据库或是数据库实例所在的Windows系统,甚至是数据库所在 ...
- 如何对SQL Server中的XML数据进行insert、update、delete .
SQL Server 2005/2008增加了对XML数据的支持,同时也新增了几种操作XML的方法,本文主要以SQL Server 2008为例介绍如何对XML数据进行insert.update.de ...
- SQL Server中采用BULK INSERT实现大数据量文本文件批量导入
SQL语句: BULK INSERT dbo.table FROM 'e:/test.tbl ' WITH ( ...
- 从TXT文本文档向Sql Server中批量导入数据
因为工作的需要,近期在做数据的分析和数据的迁移.在做数据迁移的时候需要将原有的数据导入到新建的数据库中.本来这个单纯的数据导入导出是没有什么问题的,但是客户原有的数据全部都是存在.dat文件中的.所以 ...
- 在SQL Server中sqlserver,access,excel之间数据如何使用sql语句直接操作
所谓的数据传输,其实是指SQLServer访问Access.Excel间的数据. 为什么要考虑到这个问题呢? 由于历史的原因,客户以前的数据很多都是在存入在文本数据库中,如Acess.Excel.Fo ...
- 在SQL Server中批量复制,导入和导出的技术
The process of importing or exporting large amounts of data into a SQL Server database, is referred ...
- 在AWS RDS SQL Server中恢复数据
This article explores the process to recover data in AWS RDS SQL Server and its recent enhancements. ...
最新文章
- 马斯克现场直播介绍他的脑机接口公司Neuralink最新进展
- 读书笔记 - 《重新定义公司:谷歌是如何运营的》
- java消费者和生产者模型_Java实现简易生产者消费者模型过程解析
- PHP——MySQL数据库分页查询
- Little Sub and Johann
- Pycharm社区版安装教程(永久免费,随时升级)
- 64位userdata.dll丢失_有什么一劳永逸解决私钥丢失的方法吗?
- JS判断两种格式的输入日期的正确性
- 这真不是网友P的图?雷军微博曝光小米9 SE真机图 彩虹小米有点炫酷
- 机器人汉堡店即将开业,做一个汉堡需要5分钟
- JDK1.8下载安装(Windows版)
- PowerDesigner修改设置表格背景色
- 【总结整理】关于挪车和虚拟号的思考-转载v2ex
- win10政府专供版下载正式版附激活码 32位/64位
- java jar 启动好慢_Tomcat启动很慢,提示“At least one JAR was scanned for TLDs yet contained no TLDs.”...
- 格调高又小众的EPUB 阅读器(转载)
- CSS样式怎样修改滚动条的样式
- 解决TP-LINK TL-WR740N 联网问题
- mp4视频 一帧字节大小
- 故宫真相关于长高在青春期显露了一个老临
热门文章
- 深入Java泛型(一):作用与定义
- 算法--------二叉树的中序遍历
- 【剑指offer-Java版】39二叉树的深度
- php 多图上传编辑器,laravel中使用WangEditor及多图上传
- 慕课乐学python单元测试答案_乐学Python_章节测验,期末考试,慕课答案查询公众号...
- python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...
- 基本表改变视图不改变为什么_中国白酒包装是真的很丑吗,为什么不改变包装?...
- 【Javascript基础】
- Flutter开发之HTTP网络请求:HttpClient(26)
- Postman--Pre-request执行其他接口